Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import matplotlib.dates as mdates
- import matplotlib.ticker as ticker
- def format_line_ticks(ax, year_range):
- if year_range < 0.05: #about two months showing
- ax.xaxis.set_major_locator(mdates.DayLocator())
- ax.xaxis.set_minor_locator(mdates.DayLocator())
- ax.xaxis.set_major_formatter(mdates.DateFormatter('%d'))
- print "ft: 1; %s" % year_range
- elif year_range < 0.18: #less than a month
- ax.xaxis.set_major_locator(mdates.WeekdayLocator(byweekday=1, interval=2))
- ax.xaxis.set_minor_locator(mdates.WeekdayLocator(byweekday=1))
- ax.xaxis.set_major_formatter(mdates.DateFormatter('%d %b'))
- print "ft: 2; %s" % year_range
- elif year_range < 0.3: #less than a month
- ax.xaxis.set_major_locator(mdates.WeekdayLocator(byweekday=1))
- ax.xaxis.set_minor_locator(mdates.WeekdayLocator(byweekday=1))
- ax.xaxis.set_major_formatter(mdates.DateFormatter('%d %b'))
- print "ft: 3; %s" % year_range
- elif year_range < 0.5: #about two months showing
- ax.xaxis.set_major_locator(mdates.MonthLocator())
- ax.xaxis.set_minor_locator(mdates.MonthLocator(bymonthday=15))
- ax.xaxis.set_major_formatter(ticker.NullFormatter())
- ax.xaxis.set_minor_formatter(mdates.DateFormatter('%b %Y'))
- for tick in ax.xaxis.get_minor_ticks():
- tick.tick1line.set_markersize(0)
- tick.tick2line.set_markersize(0)
- tick.label1.set_horizontalalignment('center')
- print "ft: 4; %s" % year_range
- elif year_range < 1.1:
- ax.xaxis.set_major_locator(mdates.MonthLocator())
- ax.xaxis.set_minor_locator(mdates.MonthLocator(bymonthday=15))
- ax.xaxis.set_major_formatter(ticker.NullFormatter())
- ax.xaxis.set_minor_formatter(mdates.DateFormatter('%b'))
- for tick in ax.xaxis.get_minor_ticks():
- tick.tick1line.set_markersize(0)
- tick.tick2line.set_markersize(0)
- tick.label1.set_horizontalalignment('center')
- print "ft: 5; %s" % year_range
- elif year_range < 18.3:
- ax.xaxis.set_major_locator(mdates.YearLocator())
- ax.xaxis.set_minor_locator(mdates.YearLocator(month=7))
- ax.xaxis.set_major_formatter(ticker.NullFormatter())
- ax.xaxis.set_minor_formatter(mdates.DateFormatter("'%y"))
- for tick in ax.xaxis.get_minor_ticks():
- tick.tick1line.set_markersize(0)
- tick.tick2line.set_markersize(0)
- tick.label1.set_horizontalalignment('center')
- print "ft: 6; %s" % year_range
- else:
- ax.xaxis.set_major_locator(mdates.YearLocator(10))
- ax.xaxis.set_minor_locator(mdates.YearLocator(10))
- ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y"))
- print "ft: 7; %s" % year_range
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement