展开时,直方图未显示在pdf中

时间:2018-10-21 20:46:39

标签: python matplotlib histogram pdfpages

我正在尝试在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()

1 个答案:

答案 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()

主要提示:

  1. 无需遍历数据框列的值
  2. plt.subplots()用于一个图形中的多个图
  3. 我删除了plt.plot()-它什么也没做