Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何直接设置matplotlib图形背景颜色的alpha通道值_Python_Matplotlib_Alpha - Fatal编程技术网

Python 如何直接设置matplotlib图形背景颜色的alpha通道值

Python 如何直接设置matplotlib图形背景颜色的alpha通道值,python,matplotlib,alpha,Python,Matplotlib,Alpha,我遇到了matplotlib的问题。使用,我可以设置人物脸部的颜色和alpha值。然而,matplotlib似乎坚持在呈现输出之前隐式地将其与白色混合 例如,使用以下命令: import matplotlib.pyplot as plt fig = plt.figure() fig.set_facecolor('black') fig.patch.set_alpha(0.3) ax = fig.add_subplot(111, axis_bgcolor='black') ax.plot([1

我遇到了matplotlib的问题。使用,我可以设置人物脸部的颜色和alpha值。然而,matplotlib似乎坚持在呈现输出之前隐式地将其与白色混合

例如,使用以下命令:

import matplotlib.pyplot as plt

fig = plt.figure()
fig.set_facecolor('black')
fig.patch.set_alpha(0.3)
ax = fig.add_subplot(111, axis_bgcolor='black')

ax.plot([1, 2, 3], [1, 2, 3], color='white')

fig.savefig('test_fig.png', facecolor=fig.get_facecolor(), edgecolor='none')
测试图png
中的图形背景像素的RGBA值为
(17817817877)
,而不是预期的
(0,0,0,77)
。我尝试过多种颜色——在所有情况下,最终输出似乎都相当于指定的颜色+alpha与不透明白色混合,然后alpha值重置为指定的原始值

为什么会这样?是否有我遗漏的颜色层仍然设置为白色,或者这是matplotlib的错误


编辑:事实上,这是matplotlib中的一个bug,已经进行了修复,应该出现在1.3版和更高版本中。

在我看来像个bug。我已经提交了一份公关来修复它。如果你有能力,如果你能尝试一下,这将是非常有价值的: