Cup*_*tor 93 python plot transparency matplotlib
我使用matplotlib制作一些图表,不幸的是我没有白色背景导出它们.
换句话说,当我导出这样的图并将其放在另一个图像的顶部时,白色背景会隐藏它背后的内容,而不是允许它透过.如何导出透明背景的图?
War*_*ser 154
使用matplotlib savefig
函数和keyword参数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)
Run Code Online (Sandbox Code Playgroud)
结果:
当然,该情节并没有表现出透明度.这是使用ImageMagick display
命令显示的PNG文件的屏幕截图.棋盘图案是通过PNG文件的透明部分可见的背景.
PNG 文件可以处理透明度。因此,您可以使用此问题将绘图保存到图像文件,而不是使用 Matplotlib 显示它,以便将图形保存为png
文件。
如果你想将所有白色像素变成透明,还有另一个问题:使用 PIL 使所有白色像素透明?
如果你想将整个区域变成透明,那么就会出现这个问题: 然后使用 PIL 库,就像这个问题Python PIL: how to make area transparent in PNG? 以使你的图表透明。