如何在Seaborn 0.9.0中更改误差线和误差棒的粗细?

4
我正在绘制多个ANOVA研究,我希望我的误差线宽度和其顶部的线帽厚度小于趋势线。在绘制三因素ANOVA时,加上误差线和线帽会感觉拥挤。我的当前绘图看起来像这样:3-Way Anova, uniform thickness 我用以下函数绘制此图:
sns.catplot(x="dose", y="somethings", hue="position", kind="point", 
        palette=sns.xkcd_palette(colors), capsize=.15, data=df, aspect=1.5)

我已经尝试包含关键词,例如lw_conf(来自https://github.com/mwaskom/seaborn/pull/898),但我不确定在factorplot更改为catplot后它的功能会发生什么变化。我还尝试使用matplotlib中的errorbar关键词,例如elinewidthcapthick。Catplot似乎将capsize作为一个关键字参数,但我不知道它可能需要哪些其他关键字或lw_conf发生了什么变化。如果有关此关键字发生的情况或完成此任务的新方法的任何反馈,将不胜感激。谢谢!
1个回答

5
catplot会将额外的kwargs传递给底层的绘图函数。由于您正在使用kind="point",所以绘图函数是sns.pointplot()该函数的文档提到了以下参数:

errwidth:float,可选

误差线(和帽子)的粗细。

因此,您只需要在调用catplot时包含errwidth=参数即可:
exercise = sns.load_dataset("exercise")
sns.catplot(x="time", y="pulse", hue="kind", kind="point", 
            capsize=.15, data=exercise, aspect=1.5, errwidth=0.5)

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接