我想在日期与价值图中格式化日期
import datetime as datetime
from matplotlib import pyplot as pl
values = [3, 2, 5]
dates = [datetime.datetime(2014, 3, 30, 10, 56, 11, 889521),datetime.datetime(2014, 4, 1, 6, 16, 11, 889521),datetime.datetime(2014, 4, 2, 12, 16, 11, 889521)]
fig=pl.figure()
graph = fig.add_subplot(111)
graph.plot(dates,values,'k-')
pl.gcf().autofmt_xdate()
pl.show()
提供以下内容:
日期格式为'%H:%M:%S'
。
如何轻松将其格式化为'%d/%m/%Y - %H:%M:%S'
?
我使用num2dates
等阅读了大量答案,但无法找到更直接的方法。
答案 0 :(得分:1)
您可以在datetime
对象上使用strftime()。
>>> from datetime import datetime
>>> print datetime(2014,2,3,4,5,6).strftime("%d/%m/%y - %H:%M:%S")
输出:
03/02/14 - 04:05:06
答案 1 :(得分:0)
你可以在MaxNLocator中使用nbins的值:
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
fig=pl.figure()
graph = fig.add_subplot(111)
graph.plot(dates,values,'k-')
graph.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%Y - %H:%M:%S'))
graph.xaxis.set_major_locator(mticker.MaxNLocator(nbins=5))
pl.show()