首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从matplotlib导出透明背景的绘图?

如何从matplotlib导出透明背景的绘图?
EN

Stack Overflow用户
提问于 2013-04-07 08:47:02
回答 2查看 126.9K关注 0票数 149

我正在使用matplotlib制作一些图形,不幸的是,我不能在没有白色背景的情况下导出它们。

换句话说,当我导出这样的绘图并将其放置在另一个图像的顶部时,白色背景隐藏了它背后的内容,而不是让它显露出来。如何导出具有透明背景的绘图?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-07 09:51:45

使用带有关键字参数transparent=True的matplotlib函数将图像保存为savefig文件。

代码语言:javascript
复制
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 display命令显示的PNG文件的屏幕截图。棋盘图案是通过PNG文件的透明部分可见的背景。

票数 234
EN

Stack Overflow用户

发布于 2013-04-07 09:00:37

Png文件可以处理透明度。因此,您可以使用此问题Save plot to image file instead of displaying it using Matplotlib,以便将您的图形保存为png文件。

如果你想把所有的白色像素都变成透明的,还有另外一个问题:Using PIL to make all white pixels transparent?

如果你想把整个区域变成透明的,那么有这个问题:然后使用这个问题Python PIL: how to make area transparent in PNG?中的PIL库来使你的图形变得透明。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15857647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档