如何全局设置matplotlib绘图的alpha值

2024-09-24 22:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用Jupyther笔记本时,我经常会反复地写下以下内容来改变图中的alpha值:

plot(x,y1, alpha=.6)
plot(x,y2, alpha=.6)
...

我希望在rcParameters中找到一个匹配的值,将其改为全局选项,例如:

^{pr2}$

有什么办法可以改变所有绘图的alpha值?在


Tags: alpha绘图plot选项笔记本全局办法y1
3条回答

在matplotlib团队的帮助下回答我自己的问题,以下代码将通过全局更改线颜色的alpha值来完成此任务:

alpha = 0.6
to_rgba = matplotlib.colors.ColorConverter().to_rgba

for i, col in enumerate(plt.rcParams['axes.color_cycle']):
    plt.rcParams['axes.color_cycle'][i] = to_rgba(col, alpha)

注意:在matplotlib 1.5中,color_cycle将被弃用并被prop_cycle取代

同时也为参数rc1.1的能力设置了一个值

不幸的是,根据他们的How to条目:

If you need all the figure elements to be transparent, there is currently no global alpha setting, but you can set the alpha channel on individual elements.

因此,通过matplotlib目前无法实现这一点。在


我通常对全局值做的是定义一个外部配置文件,定义值并将它们导入到适当的脚本中。在

我的_配置文件

# Parameters:

# matplotlib alpha
ALPHA = .6

我的_绘图.py

^{pr2}$

这通常有助于保持配置的分离和易于更新。在

更新版本(可能有清洁剂):

from cycler import cycler
alpha = 0.5
to_rgba = matplotlib.colors.ColorConverter().to_rgba#
color_list=[]
for i, col in enumerate(plt.rcParams['axes.prop_cycle']):
    color_list.append(to_rgba(col['color'], alpha))
plt.rcParams['axes.prop_cycle'] = cycler(color=color_list)

相关问题 更多 >