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

时间:2018-08-20 19:18:09

标签: python python-2.7 matplotlib pyqt pyqt4

我在带有标题和轴标签的QtAggFigureCanvas(PyQt4)中嵌入了一个matplotlib图(示例如下所示)。 enter image description here

我实现了一个按钮来将图形保存到png文件中。该图是使用以下内容创建的:

def getTitle: String = if (title == null) "" else title

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

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(...)

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

enter image description here

无论我如何尝试,都要更改figsize,dpi,边界框等。我无法将图形与轴标签一起保存。

1 个答案:

答案 0 :(得分:1)

请查看以下链接:Black background behind a figure's labels and ticks, only after saving figure but not in Python Interactive view (VS Code with Jupyter functionality)?

似乎plt.savefig()覆盖绘图参数。因此,您必须再次定义它们。试试这个:plt.savefig('yourfilenamehere.png',facecolor ='w')。这会将边框设置为白色。

最诚挚的问候,