将多个图表保存到单个pdf文件时出现Matplotlib类型错误

时间:2016-04-10 20:17:55

标签: python numpy matplotlib

经过几个小时的挫折之后,我决定提出这个问题,希望有人可能会遇到同样的问题。基本上,我试图将多个图表保存到pdf文件中,但得到以下类型错误:

TypeError: Don't know a PDF representation for <class 'numpy.ndarray'> objects.

我循环浏览一个大数据集,将每列定义为字典键并绘制每个系列。我的代码非常复杂,所以在这里给出一个简单的例子。但请注意,如果我用一个简单的例子测试PdfPages,它可以很好地生成一个包含多个页面的pdf文件。

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages

list2 = []
pdf = PdfPages("foo.pdf")
for i in list1:
    for cnt, elem in enumerate(dict1['key1']):
        if elem == i:
            list2.append(dict1['key1'][cnt])
    fig = plt.figure()

    for b in list2:
        y_l = l_dict[b]
        y_m = m_dict[b]

        plt.plot_date(x_l_date, y_l)
        plt.scatter(x_m_date, y_m)
    ax = plt.gca()
    plt.grid()
    pdf.savefig(fig)
pdf.close()
plt.show()

如果我不使用savefig,我的代码中没有任何错误,因此numpy数组中没有错误等。

0 个答案:

没有答案