如何将多个 seaborn 图保存到同一个 pdf/png 文件?

How to save multiple seaborn plots to the same pdf/png file?

我正在努力将几幅图保存在同一个 pdf 文件中。 数据源是数据框。 我考虑过将它们保存为 png,但这根本不实用..

pdf_pages = PdfPages('kde.pdf')
for i in range(1,114):
    for j in range(0,113):
        x=t1.iloc[:,i]
        y=t1.iloc[:,j]
        fig=sns.jointplot(x=x, y=y, kind="kde",dropna=True);
        pdf_pages.savefig(fig)

Seaborn 的 jointplot 不是 return 一个 figure,它 return 是一个 seaborn.JointGrid 实例。

你需要传递一个数字给pdf_pages.savefig,所以使用:

with PdfPages('kde.pdf') as pdf_pages:
    for i in range(1, 114):
        for j in range(0, 113):
            x=t1.iloc[:, i]
            y=t1.iloc[:, j]
            joint_grid = sns.jointplot(x=x, y=y, kind="kde", dropna=True)
            pdf_pages.savefig(joint_grid.fig)