如何在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 datetimeimport 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