如何更改relplot中置信区间的透明度?

2024-05-23 15:43:13 发布

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

我找到了regplots的答案,但我无法获得用于relplots的相同代码。我想更改置信区间的透明度,同时使图形的线条更暗,但relplots的alpha输入使整个图形更半透明

我的代码:

cookie = sns.relplot(
    data=data, x="Day", y="Touches", 
    hue='Sex', ci=68, kind="line", col = 'Event'
    )

适用于regplots的行是

plt.setp(cookie.collections[1], alpha=0.4)

Tags: 答案代码alpha图形datacookie线条置信区间
1条回答
网友
1楼 · 发布于 2024-05-23 15:43:13

regplot返回一个ax(子批),relplot返回子批的完整网格(a FacetGrid)。通常,返回值被抓取到名为g的变量中(在与文档中的代码进行比较时,调用它cookie会使事情变得非常混乱)

您可以在FacetGrid的各个轴之间循环,并对每个轴进行更改:

import matplotlib.pyplot as plt
import seaborn as sns

fmri = sns.load_dataset('fmri')
g = sns.relplot(data=fmri, x="timepoint", y="signal", col="region",
                hue="event", style="event", kind="line")
for ax in g.axes.flat:
    ax.collections[-1].set_alpha(0.4)

plt.show()

sns.relplot with changed transparency

PS:如评论中所述,如果您想更改所有置信区间的alpha值(而不是像问题代码中那样仅更改其中一个),您可以使用sns.relplot(..., err_kws={"alpha": .4})

相关问题 更多 >