Seaborn无法保存整个图像,只能保存部分图像。

4
我在Python中使用seaborn绘制并保存了一张图。在Jupyter Notebook中它看起来像这样。

整个图

但是当我使用以下代码保存图片时,它显示为这样。 只有部分内容 我不知道为什么。这是我的Python代码。
whole_pt = whole_rules_df.pivot_table(index='whole_rules_from', columns='whole_rules_to', values='whole_rules_value', aggfunc=np.sum)
f, ax = plt.subplots(figsize=(12,8))
one_heat = sns.heatmap(whole_pt, fmt="d",cmap='YlGnBu', ax=ax,vmin=0,vmax=1)
one_heat.get_figure().savefig('whole_rules.jpg')
1个回答

13

Matplotlib图形本身是裁剪的图形。但是,当在jupyter中使用内联后端显示matplotlib图形时,显示的是保存的png版本的图形。这种“保存”是使用bbox_inches="tight"选项执行的,该选项将被保存的区域放大或裁剪到图形的内容。

要在手动保存图形时实现相同的效果,还必须包括此选项。

fig.savefig("filename.png", bbox_inches="tight")

或者直接生成内容适应的图形也很有用。可以使用fig.subplots_adjust()方法或调用fig.tight_layout()实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接