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'}
wdsfds
  • 63
  • 5
  • See https://stackoverflow.com/questions/5656798/python-matplotlib-is-there-a-way-to-make-a-discontinuous-axis or https://matplotlib.org/gallery/subplots_axes_and_figures/broken_axis.html?highlight=broken%20axis – ImportanceOfBeingErnest Aug 01 '18 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 – Sheldore Aug 01 '18 at 20:57
  • 1
    yes. I want to remove those from the plot, so that long horizontal line isn't there. – wdsfds Aug 01 '18 at 21:02

0 Answers0