【发布时间】:2013-08-01 23:41:35
【问题描述】:
我绘制时间序列的代码是这样的:
def plot_series(x, y):
fig, ax = plt.subplots()
ax.plot_date(x, y, fmt='g--') # x = array of dates, y = array of numbers
fig.autofmt_xdate()
plt.grid(True)
plt.show()
我有几千个数据点,因此 matplotlib 创建了 3 个月的 x 轴范围。这是我现在的时间序列的样子:
但是,我想要一个每周/每两周的系列。如何更改 matplotlib 计算 x 轴日期范围的方式,并且由于我有将近 1 年的数据,我如何确保所有数据都很好地适合单个图表?
【问题讨论】:
-
像
ax.set_xlim([min_time, max_time])这样简单的东西会起作用还是你需要更自动化的东西? -
这将限制最小值和最大值。我想要的是更“放大”的图表。因此,我想要 1 周或 2 周的间隔,而不是 3 个月的间隔。
-
嗯。如果我在关注你,你想将你的数据读入 pandas DataFrame,然后重新采样:pandas.pydata.org/pandas-docs/dev/10min.html#time-series
标签: python matplotlib time-series