关于python:Matplotlib.savefig忽略轴并在图像周围绘制黑色边框

Matplotlib.savefig ignoring axes and plotting black border around image

我有一个matplotlib图形嵌入到qtaggfigurecanvas(pyqt4)中,带有标题和轴标签(示例如下所示)。enter image description here

我实现了一个按钮将图形保存到PNG文件中。创建该图形时使用了:

1
2
3
4
5
6
7
8
self.plkDpi = 100
self.plkFigure = Figure(dpi=self.plkDpi)
...
self.plkAxes = self.plkFig.add_subplot(111)
...
self.plkAxes.set_xlabel(...)
self.plkAxes.set_ylabel(...)
self.plkAxes.set_title(...)

当我点击保存按钮时,会执行以下代码:

1
self.plkFig.savefig('tmp.png', bbox_inches='tight', dpi=self.plkDpi)

由于某些原因,轴和绘图标题将从最终绘图中省略。但是它们没有被裁剪——在图形周围有一个边界黑框,只是空白(见下文)。

氧化镁

无论我尝试什么,更改FigSize、DPI、边界框等,我都无法使用轴标签保存图形。


请看一下这个链接:数字标签和刻度后面的黑色背景,只有在保存了数字之后,而不是在python交互视图中(与具有jupyter功能的代码相比)?.

似乎plt.savefig()覆盖了绘图参数。所以你必须重新定义它们。尝试以下操作:plt.savefig('yourfilenamehere.png',facecolor='w')。这会将边框设置为白色。

顺祝商祺!