我正在尝试在pdf文件中绘制数据帧中每个变量的时间序列和直方图。每个操作都单独起作用,但是在同一页面中对它们进行细分时,将不会显示直方图。知道我在做什么错吗?这是我的代码:
with PdfPages('test.pdf') as pdf:
for i in range(df.shape[1]):
fig = plt.figure()
#time series
plt.subplot(2, 1, 1)
ax1 = df.iloc[:,i].plot(color='blue', grid=True, label='lab')
plt.title(df.columns.values[i])
#histograms
plt.subplot(2, 1, 2)
hist=df.hist(df.columns.values[i])
plt.plot()
pdf.savefig(fig)
plt.close()
答案 0 :(得分:0)
我不确定我是否真的可以重现您的错误-但是,我会在代码中进行一些优化,也许您可以通过以下示例进行思考:
with PdfPages('test.pdf') as pdf:
for c in df:
fig, axs = plt.subplots(2)
#time series
fig.suptitle(c)
df[c].plot(color='blue', grid=True, label='lab', ax=axs[0])
#histogram
hist=df.hist(c, ax=axs[1])
pdf.savefig(fig)
#plt.close()
主要提示:
plt.subplots()
用于一个图形中的多个图plt.plot()
-它什么也没做