格式化日期python matplotlib

时间:2014-04-02 15:41:12

标签: python matplotlib

我想在日期与价值图中格式化日期

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等阅读了大量答案,但无法找到更直接的方法。

2 个答案:

答案 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()