Python 更改背景色后如何保存Matplotlib图形?
使用Spyder IDE,我创建了matplotlib绘图,并将figure对象和Axis对象的面背景颜色都更改为黑色。当我尝试使用plt.savefig保存图形时。。。不包括轴、标题和轴标签 我已尝试在轴被切断时将bbox_inches='tight'添加到plt.savefig功能中:Python 更改背景色后如何保存Matplotlib图形?,python,matplotlib,Python,Matplotlib,使用Spyder IDE,我创建了matplotlib绘图,并将figure对象和Axis对象的面背景颜色都更改为黑色。当我尝试使用plt.savefig保存图形时。。。不包括轴、标题和轴标签 我已尝试在轴被切断时将bbox_inches='tight'添加到plt.savefig功能中: plt.savefig("my_fig_name.png", bbox_inches='tight') 无济于事。我在Jupyter笔记本或Spyder中将绘图方法从自动更改为内联。这没有效果。我还尝试使用
plt.savefig("my_fig_name.png", bbox_inches='tight')
无济于事。我在Jupyter笔记本或Spyder中将绘图方法从自动更改为内联。这没有效果。我还尝试使用以下工具确保图中有足够的空间放置我的轴:
fig.add_axes([0.1,0.1,0.75,0.75])
这也行不通。下面的内容足以重现我的经历
将matplotlib.pyplot作为plt导入
xs,ys=[0,1],[0,1]
fig=plt.figurefigsize=6,6添加紧密布局=True没有效果
ax=图添加子图1,1,1
注释掉以下块后,该块的颜色
plot保持不变,plt.savefig功能工作正常
图patch.set_facecolor121111
ax.set_面颜色121111
斧头刺['top'].设置颜色121111
斧头刺['右'].设置颜色121111
斧头刺['bottom'].设置颜色为“白色”
斧头刺[“左”]。设置颜色为“白色”
ax.xaxis.label.set_颜色为“白色”
ax.tick_paramsaxis='x',colors='white'
ax.yaxis.label.set_颜色为“白色”
ax.tick_paramsaxis='y',colors='white'
ax.set_标题图的标题,颜色=白色
plt.plotxs,ys
plt.xlabelx-label
plt.ylabley-label
plt.savefigmy\u fig\u name.png,bbox\u英寸=紧密
我希望得到这样的图像:
然而,plt.savefig。。。给我以下结果:
奇怪的是,绘图周围似乎有空白,即使我将tight_layout=True参数添加到matplotlib figure构造函数中,空白也不会消失
fig = plt.figure(figsize=(6, 6), tight_layout=True)
而且,当我注释掉更改绘图面颜色的代码时,图形会正确保存,所有轴和标签都显示正确。为了解决您的问题,您只需在plt.savefig调用中指定facecolor关键字参数,在这种情况下:
plt.savefig("my_fig_name.png", bbox_inches="tight", facecolor="#121111")
它提供了预期的.png输出:
有关详细信息,请参阅