2

So I am plotting some 5k time date using matplotlib, using a modified tutorial. I want to remove the ranges between year-01 and year-07 for all years, to make the data more interesting.

This is my code:

import matplotlib.pyplot as plt 

def plotTimes(data):
    x = data["x"]
    y = data["y"]
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.grid()

    plt.plot(x,y)
    plt.xlabel('Date')
    plt.ylabel('5k Time')
    plt.title(data['name'])
    plt.show()
  • How can I exclude a range of dates from my plot?
  • (side question) Is pyplot the best way to use matplotlib? Exclude date range problem

All code: https://pastebin.com/raw/MQVa5QLZ

This is the data:

{'x': [datetime.datetime(2015, 8, 28, 0, 0), datetime.datetime(2015, 
9, 3, 0, 0), datetime.datetime(2015, 9, 10, 0, 0), datetime.datetime(2015, 9, 12, 0, 0), datetime.datetime(2015, 9, 17, 0, 0), datetime.datetime(2015, 9, 26, 0, 0), datetime.datetime(2015, 9, 29, 0,
 0), datetime.datetime(2015, 10, 3, 0, 0), datetime.datetime(2015, 10, 16,
 0, 0), datetime.datetime(2015, 10, 22, 0, 0), datetime.datetime(2015, 10,
 23, 0, 0), datetime.datetime(2015, 10, 27, 0, 0), datetime.datetime(2015,
 10, 30, 0, 0), datetime.datetime(2015, 11, 4, 0, 0), 
datetime.datetime(2016, 8, 26, 0, 0), datetime.datetime(2016, 9, 1, 0, 0),
 datetime.datetime(2016, 9, 10, 0, 0), datetime.datetime(2016, 9, 13, 0, 
0), datetime.datetime(2016, 9, 15, 0, 0), datetime.datetime(2016, 9, 24, 0, 0), datetime.datetime(2016, 9, 27, 0, 0), datetime.datetime(2016, 10, 
14, 0, 0), datetime.datetime(2016, 10, 20, 0, 0), datetime.datetime(2016, 
10, 21, 0, 0), datetime.datetime(2016, 10, 25, 0, 0), datetime.datetime(2016, 10, 29, 0, 0), datetime.datetime(2016, 11, 2, 0,
 0), datetime.datetime(2017, 8, 25, 0, 0), datetime.datetime(2017, 9, 9, 
0, 0), datetime.datetime(2017, 9, 12, 0, 0), datetime.datetime(2017, 9, 
14, 0, 0), datetime.datetime(2017, 9, 23, 0, 0), datetime.datetime(2017,
 9, 27, 0, 0), datetime.datetime(2017, 10, 7, 0, 0), 
datetime.datetime(2017, 10, 28, 0, 0), datetime.datetime(2017, 11, 1, 0, 
0)], 'y': [datetime.datetime(1900, 1, 1, 0, 20, 4, 100000), 
datetime.datetime(1900, 1, 1, 0, 19, 59, 700000), datetime.datetime(1900, 1, 1, 0, 18, 48, 100000), datetime.datetime(1900, 1, 1, 0, 18, 26),
 datetime.datetime(1900, 1, 1, 0, 18, 49, 600000), datetime.datetime(1900,
 1, 1, 0, 17, 57), datetime.datetime(1900, 1, 1, 0, 18, 28, 200000), 
datetime.datetime(1900, 1, 1, 0, 17, 34, 800000), datetime.datetime(1900,
 1, 1, 0, 17, 46), datetime.datetime(1900, 1, 1, 0, 17, 57, 700000), 
datetime.datetime(1900, 1, 1, 0, 17, 43, 200000), datetime.datetime(1900,
 1, 1, 0, 17, 54, 700000), datetime.datetime(1900, 1, 1, 0, 17, 40, 
700000), datetime.datetime(1900, 1, 1, 0, 17, 55, 600000), 
datetime.datetime(1900, 1, 1, 0, 18, 29, 200000), datetime.datetime(1900,
 1, 1, 0, 17, 43, 300000), datetime.datetime(1900, 1, 1, 0, 17, 51), 
datetime.datetime(1900, 1, 1, 0, 18, 12, 500000), datetime.datetime(1900,
 1, 1, 0, 17, 30, 100000), datetime.datetime(1900, 1, 1, 0, 17, 9, 
800000), datetime.datetime(1900, 1, 1, 0, 17, 58), datetime.datetime(1900,
 1, 1, 0, 17, 16, 800000), datetime.datetime(1900, 1, 1, 0, 17, 43, 
600000), datetime.datetime(1900, 1, 1, 0, 17, 12, 400000), 
datetime.datetime(1900, 1, 1, 0, 17, 31, 600000), datetime.datetime(1900,
 1, 1, 0, 17, 36, 700000), datetime.datetime(1900, 1, 1, 0, 17, 13, 
900000), datetime.datetime(1900, 1, 1, 0, 17, 17,
700000), datetime.datetime(1900, 1, 1, 0, 16, 42), datetime.datetime(1900, 1, 1, 0,
     16, 56, 200000), datetime.datetime(1900, 1, 1, 0, 17, 11, 700000),
 datetime.datetime(1900, 1, 1, 0, 16, 51, 900000),
 datetime.datetime(1900, 1, 1, 0, 17, 15, 200000), datetime.datetime(1900, 1, 1, 0, 17, 9, 
700000),
 datetime.datetime(1900, 1, 1, 0, 16, 55, 600000), 
datetime.datetime(1900, 1, 1, 0, 17, 2, 400000)], 'name': 'Jack Santinga'}
3
  • See stackoverflow.com/questions/5656798/… or matplotlib.org/gallery/subplots_axes_and_figures/… Commented Aug 1, 2018 at 20:57
  • What do you mean by year-01 and year-07? Do you mean all the dates between January and July (both inclusive) should be excluded from the axis labels? In the data you wrote above, there is no date for January to July Commented Aug 1, 2018 at 20:57
  • 1
    yes. I want to remove those from the plot, so that long horizontal line isn't there. Commented Aug 1, 2018 at 21:02

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.