如何从透明背景的matplotlib导出plots?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (35)

我正在使用matplotlib来生成一些图形,不幸的是,我无法在没有白色背景的情况下导出它们。

换句话说,当我导出这样的情节并将其放置在另一幅图像上时,白色背景隐藏了它背后的内容,而不是允许它显示出来。如何导出背景透明的地块?

提问于
用户回答回答于

使用matplotlibsavefig函数的关键字参数。transparent=True若要将图像保存为PNG文件,请执行以下操作。

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

结果:

下面是使用ImageMagick显示的PNG文件的屏幕截图display命令。棋盘模式是通过PNG文件的透明部分可见的背景。

用户回答回答于

PNG文件可以处理透明度。如果你想让所有的白色像素透明。

如果您想要将整个区域变成透明的,那么就有一个问题:然后像在这个问题中一样使用PIL库。

扫码关注云+社区