seaborn violinplot 中的四分位数线属性

Quartiles line properties in seaborn violinplot

试图找出如何修改 seaborn violinplot 中四分位数的线条属性(颜色、粗细、样式等)。

来自他们网站的示例代码:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")

期望的结果是能够改变,例如violinplot 的两个部分的颜色分别像这样以提高可读性:

我该怎么做?

感谢任何见解

更新: 根据@kynnem 的回复,以下内容可用于分别更改中位数和四分位线:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")
for l in ax.lines:
    l.set_linestyle('--')
    l.set_linewidth(0.6)
    l.set_color('red')
    l.set_alpha(0.8)
for l in ax.lines[1::3]:
    l.set_linestyle('-')
    l.set_linewidth(1.2)
    l.set_color('black')
    l.set_alpha(0.8)

结果:

您可以使用以下设置线型、颜色和饱和度来访问 ax 变量中的线:

 for l in ax.lines:
     l.set_linestyle('-')
     l.set_color('black')
     l.set_alpha(0.8)

这会为所有水平线创建一条黑色实线。如果你能找出 ax 中的哪些线与你感兴趣的线相对应,你就可以根据需要指定不同的颜色和样式