首页 > 解决方案 > 如何显示seaborn产生的误差线的值?

问题描述

我正在尝试使用 seaborns 可视化一些数据。我正在使用设置为条形图的 catplot。我让它显示误差线是标准偏差。我想知道它在可视化中使用的平均值和标准差是什么值,但是我不知道如何从图中检索该信息。我将如何获取这些信息?

bar_graph = seaborn.catplot(x="x", y="y", hue="z", data=data, ci="sd", capsize=0.1, kind="bar")

标签: pythonpandasdataframedata-visualizationseaborn

解决方案


尝试从 seaborn 生成的情节中获取该数据并非不可能,但会非常麻烦,因为 seaborn 不会返回它创建的艺术家并且catplot()可以生成许多子情节等。

但是,我希望您不需要从绘图中获取数据,您可以直接从数据框中获取它们,不是吗?这个简单的演示表明绘图和计算值确实匹配:

titanic = sns.load_dataset("titanic")
sns.catplot(x='sex',y='age',hue="class", data=titanic, ci="sd", capsize=0.1, kind="bar")

在此处输入图像描述

titanic.groupby(['sex','class'])['age'].describe()[['mean','std']]

                mean        std
sex     class       
female  First   34.611765   13.612052
        Second  28.722973   12.872702
        Third   21.750000   12.729964
male    First   41.281386   15.139570
        Second  30.740707   14.793894
        Third   26.507589   12.159514

推荐阅读