当前位置: 首页 > 知识库问答 >
问题:

如何保存具有透明外部背景但彩色子情节的matplotlib图形?

钱青青
2023-03-14

我想用透明背景保存一个图形,其中记号标记和轴标签是透明的,但子地块面是彩色的。我可以使用savefigtransparent=True来完成透明背景,后者可以通过为子地块内的每个轴设置facecolor='red'来完成,但不能同时使两者工作。

我包括一个MWE,其中plt.show()将创建所需的facecolors,而保存的透明图显示在基调幻灯片上。谢谢你的帮助!

import os.path as op
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(10)
y0 = np.random.rand(50)
y1 = np.random.rand(50)
x  = range(len(y1))

fig, (axe0, axe1) = plt.subplots(nrows=2, sharex=True)
axe0.scatter(x, y0, c='k')
axe0.set_facecolor('red')
axe1.scatter(x, y1, c='k')
axe1.set_facecolor('blue')
dst = op.join(op.expanduser('~'), 'Desktop', 'Temp.png')
fig.savefig(dst, transparent=True, format='png')
plt.show()

正确的彩色子图

幻灯片上透明

共有1个答案

宰父飞翼
2023-03-14

不要将“透明”设置为“真”,但使用将“不透明度”设置为0

fig.patch.set_alpha(0.0)

我已将您的代码修改如下:

fig, (axe0, axe1) = plt.subplots(nrows=2, sharex=True)
axe0.scatter(x, y0, c='k')
axe0.set_facecolor('red')
axe1.scatter(x, y1, c='k')
axe1.set_facecolor('blue')
dst = op.join(op.expanduser('~'), 'Desktop', 'Temp.png')
fig.patch.set_alpha(0.0)
fig.savefig(dst, format='png')
plt.show()
 类似资料:
  • 问题内容: 我将签名图像另存为.jpg图片。我使用graphic2d在图像上绘制签名的每个像素(使用签名板获得),它可以正常工作,但我总是得到白色背景。如果我想将签名放在PDF文档上,jpg图像的白色正方形的边框会覆盖PDF的某些单词。 我想要得到的是保存带有透明背景的jpg图像,因此当我将其放置在PDF上时,没有单词被白色图像背景覆盖,只有签名行。 这是保存缓冲图像的代码。它具有白色背景。 我试

  • 我正在尝试导出一个带有透明背景的matplotlib绘图,因为它是一个圆,我需要粘贴到另一个画布上(没有角)。 我遵循了这里的示例:如何使用透明背景从matplotlib导出绘图? 示例代码: 这里给出的示例是:如何使用Matplotlib设置图形背景颜色的不透明度 示例代码: 以及这里的例子:导出图在. png与透明背景 但这对我不起作用。当我粘贴到画布上时,我最终得到: 我需要它紧紧地围绕着油

  • 我遇到了让情节本身透明的方法,但是我如何让背景透明呢?没有Qt有办法做到这一点吗?我希望情节在背景窗口上,例如,假设我正在运行Chrome,我希望情节在chrome窗口上,其内容可见。

  • 我用JavaScript动态创建了背景颜色为<code>的对象:rgba(219219,219,40,1) ,带有内容。 对于其中的一些,我想编辑不透明度,rgba()func的第4个参数。我不能添加全新的CSS设置,因为颜色会改变,我必须保存它。 我只能使用CSS做什么?

  • 我在这里的要求是使我的孩子突出,而没有的白色背景-(因此AnchorPane需要透明),我如何实现这一点?

  • 我正在使用matplotlib制作一些图形,不幸的是,我不能在没有白色背景的情况下导出它们。 换句话说,当我导出这样的绘图并将其放置在另一个图像的顶部时,白色背景会隐藏其背后的内容,而不是让它显示出来。如何导出具有透明背景的绘图?