我试图绘制一个x轴为日期,y轴为值的图表。它工作得很好,除了我不能得到合适的x轴范围。x轴范围总是Jan 2012到Jan 2016,尽管我的日期是从今天开始的。我甚至指定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
下面是输出:
2条答案
按热度按时间cgvd09ve1#
编辑:
从OP中看到实际数据后,所有的值都在同一日期/时间。因此matplotlib会自动缩小x轴。您仍然可以使用
datetime
对象手动设置x轴限制如果我在matplotlib v1.3.1上做类似的事情:
我得到:
坐标轴和我指定的日期吻合。
hfsqlsce2#
借助Paul H的解决方案,我能够更改基于时间的x轴的范围。
这里是一个更通用的解决方案,供其他初学者使用。