试图弄清楚如何修改 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 中的哪条线与您感兴趣的线相对应,则可以根据需要指定不同的颜色和样式
关于python - seaborn violinplot 中的四分位数线属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60638344/