python - seaborn violinplot 中的四分位数线属性

标签 python matplotlib seaborn violin-plot quartile

试图弄清楚如何修改 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")

Default violinplot with quartiles

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

Desired output

我怎样才能做到这一点?

感谢您的任何见解

更新:根据@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)

结果:

ViolinModifiedLines

最佳答案

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

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

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

关于python - seaborn violinplot 中的四分位数线属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60638344/

相关文章:

python - 如何在 matplotlib 中添加悬停注释

python - 如何将范围字符串(bins)转换为可用于 Seaborn 可视化的数值

python - 在 Seaborn Jointplot 上绘制对角线(相等线)

python - Numba - jitclass 实例的副本

python - 寻找最大的闭合 3D 等值线图

python - 颜色在 pyqtgraph 中的工作方式不像在 matplotlib 中那样工作

python - 如何制作带有未定义区域的彩色图?

python - 如何在不添加 "ticks"的情况下从下到上移动标签

python - 将用户名存储到 mysql [PYTHON]

python - 如何将 python 函数/类/模块对象转换为 python 代码对象