如何将多个Seaborn地块保存到同一pdf / png文件中?

mik*_*mik 1 python pdf pandas seaborn

我正在努力将几张图保存在同一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)
Run Code Online (Sandbox Code Playgroud)

Max*_*Noe 5

Seaborn的jointplot不返回figure,而是返回一个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)
Run Code Online (Sandbox Code Playgroud)

  • 只想指出我在适应此问题上的努力,如果使用snsplot = sns.heatmap()而不是保存,则使用pdf_pages.savefig(snsplot.figure) (2认同)
  • 与 muon 提到的关于 ````sns.distplot()```` 的情况相同 (2认同)