【发布时间】:2018-12-27 04:06:00
【问题描述】:
我的代码在一天中的每一分钟显示产品是否缺货:
sq_t = df_stock_quantity_log[['is_stockout']].resample('T').ffill().fillna(0).astype(int).squeeze()
nrows =10
fig, axs = plt.subplots(nrows=nrows, figsize=(18, 40))
for idx, date in enumerate(df.index[:nrows]):
s = sq_t[date.strftime('%Y-%m-%d')]
if len(s) < 24*60:
s = np.concatenate((np.zeros(24*60-len(s)),s))
axs[idx].plot(s, label=idx)
plt.legend(loc='best')
plt.show()
输出是
我想将 xtick 更改为 0 ~ 23 并将代码更改为
fig, axs = plt.subplots(nrows=nrows, figsize=(18, 40))
for idx, date in enumerate(df.index[:nrows]):
s = sq_t[date.strftime('%Y-%m-%d')]
if len(s) < 24*60:
s = np.concatenate((np.zeros(24*60-len(s)),s))
axs[idx].plot(s, label=idx)
axs[idx].set_xticks(s)
axs[idx].set_xticklabels(['h %d' % (ii/ 60,) for ii in range(0, 24*60 , 60)])
plt.legend(loc='best')
plt.show()
但是结果很糟糕:
sq_t信息:
PS:我知道第一天图片的 xticklabel 是错误的,因为我没有为其设置正确的日期时间索引。这里只是举例。
【问题讨论】:
标签: python pandas matplotlib time-series timeserieschart