python - 如何从具有透明背景的 matplotlib 导出绘图?

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

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

最佳答案

使用 matplotlib savefig 函数和关键字参数 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 display 命令显示的 PNG 文件的屏幕截图。棋盘图案是通过 PNG 文件的透明部分可见的背景。

https://stackoverflow.com/questions/15857647/

相关文章:

python - 生成没有相邻相等元素的列表的所有排列

python - NumPy:同时 max() 和 min() 的函数

python - 使用 pandas GroupBy.agg() 对同一列进行多个聚合

python - 如何在 Tesseract 和 OpenCV 之间进行选择?

python - Python中numpy.random和random.random的区别

python - Python字典中的线程安全

python - 我应该在 Python 3 中使用编码声明吗?

python - Python 多处理模块的 .join() 方法到底在做什么?

python - 如何使用 Pandas 创建随机整数的 DataFrame?

python - 断言 numpy.array 相等性的最佳方法?