def matplotlib_locator_formatter(timedelta, span=1):
"""
Compute appropriate locator and formatter for renderers
based on matplotlib, depending on designated time span.
"""
from matplotlib.dates import date_ticker_factory, DateFormatter
locator, formatter = date_ticker_factory(span)
# http://pandas.pydata.org/pandas-docs/stable/timedeltas.html
# https://stackoverflow.com/questions/16103238/pandas-timedelta-in-days
is_macro = timedelta <= Timedelta(days=1)
is_supermacro = timedelta <= Timedelta(minutes=5)
if is_macro:
#formatter = DateFormatter(fmt='%H:%M:%S.%f')
formatter = DateFormatter(fmt='%H:%M')
if is_supermacro:
formatter = DateFormatter(fmt='%H:%M:%S')
# Formatter overrides
#if formatter.fmt == '%H:%M\n%b %d':
# formatter = DateFormatter(fmt='%Y-%m-%d %H:%M')
# Labs
#from matplotlib.dates import AutoDateLocator, AutoDateFormatter, HOURLY
#locator = AutoDateLocator(maxticks=7)
#locator.autoscale()
#locator.intervald[HOURLY] = [5]
#formatter = AutoDateFormatter(breaks)
#formatter = date_format('%Y-%m-%d\n%H:%M')
# Default building blocks
#from matplotlib.dates import AutoDateFormatter, AutoDateLocator
#locator = AutoDateLocator()
#formatter = AutoDateFormatter(locator)
return locator, formatter
评论列表
文章目录