如何在matplotlib中使用日期时间更改x轴的范围?

我正在尝试在x轴上绘制日期图,在y轴上绘制值。它工作正常,但无法获得适当的X轴范围。尽管我的日期是今天,但x轴范围始终是2012年1月至2016年1月。我什至指定xlim应该是第一个和最后一个日期。

我正在为python-django写这个,如果相关的话。

 import datetime

import matplotlib.pyplot as plt

x = [datetime.date(2014, 1, 29), datetime.date(2014, 1, 29), datetime.date(2014, 1, 29)]

y = [2, 4, 1]

fig, ax = plt.subplots()

ax.plot_date(x, y)

ax.set_xlim([x[0], x[-1]])

canvas = FigureCanvas(plt.figure(1))

response = HttpResponse(content_type='image/png')

canvas.print_png(response)

return response

回答:

从OP看到实际数据后,所有值都在同一日期/时间。因此matplotlib自动将x轴缩小。你仍然可以手动设置datetime对象的x轴限制

如果我在matplotlib v1.3.1上做了类似的事情:

import datetime

import matplotlib.pyplot as plt

x = [datetime.date(2014, 1, 29), datetime.date(2014, 1, 29), datetime.date(2014, 1, 29)]

y = [2, 4, 1]

fig, ax = plt.subplots()

ax.plot_date(x, y, markerfacecolor='CornflowerBlue', markeredgecolor='white')

fig.autofmt_xdate()

ax.set_xlim([datetime.date(2014, 1, 26), datetime.date(2014, 2, 1)])

ax.set_ylim([0, 5])

我得到:

并且轴限制与我指定的日期匹配。

以上是 如何在matplotlib中使用日期时间更改x轴的范围? 的全部内容, 来源链接: utcz.com/qa/435579.html

回到顶部