我正在运行以下代码以在Python中导出.png文件:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('ticks')
plt.figure(figsize=(30,15))
ax = ts['Item'].plot(lw = 10)
ax.set_xlim(pd.Timestamp('2019-09-01'), pd.Timestamp('2019-12-12'))
plt.xticks (rotation=45)
plt.title('Time Series of submitted items',fontsize = 30)
plt.tight_layout()
plt.savefig('TimeSeries.png',format="png")
导出的.png文件为空。
ts dataframe
包含三列,并按日期分组。
致电head
,我得到以下信息:
Submit date time Item Status
2019-01-09 2 2
2019-01-10 224 224
2019-01-11 196 196
2019-01-12 337 337
2019-02-09 9 9
我已将plt.show()
放在plt.savefig()
之后,但仍然遇到此问题。除此之外,我想知道用pd.Timestamp
显式定义日期范围是否明智,还是我应该格式化提交日期时间列。
答案 0 :(得分:0)
确定您的日期范围内的数据吗? (您提供的示例中不是这种情况)。您可能有混合的日期格式。
否则,以下代码段应该有效:
ax = df.plot(x='Submit date time', y='Item', lw=10, figsize=(30, 15))
ax.set_xlim('2019-01-01', '2019-12-12')
plt.xticks(rotation=45)
plt.title('Time Series of submitted items', fontsize=30)
plt.tight_layout()
plt.show()
请注意,您不必专门格式化/转换set_xlim
中的日期。
答案 1 :(得分:0)
以下代码为我正确绘制。我认为问题是plot命令没有给plot函数提供足够的信息。参见[数据框图] [1]。另外,原始代码的xlim命令是从9月vs 1月开始的。
- name: Configure masters
hosts: master
roles:
- master