【问题标题】:Matplotlib.savefig ignoring axes and plotting black border around imageMatplotlib.savefig 忽略轴并在图像周围绘制黑色边框
【发布时间】:2019-01-26 23:08:12
【问题描述】:

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

我实现了一个按钮来将图形保存到 png 文件中。该图是通过以下方式创建的:

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

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

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

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

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

【问题讨论】:

标签: python python-2.7 matplotlib pyqt pyqt4


【解决方案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')。这会将边框设置为白色。

最好的问候,

【讨论】:

  • 谢谢你让我开心!
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2021-12-03
  • 1970-01-01
相关资源
最近更新 更多