我正在尝试使用Seaborns可视化一些数据。我正在使用设置为条形图的猫形图。我将误差线显示为标准偏差。我想知道它在可视化中使用的平均值和标准偏差是什么值,但是我不知道如何从图中检索该信息。我将如何获取这些信息?
bar_graph = seaborn.catplot(x="x", y="y", hue="z", data=data, ci="sd", capsize=0.1, kind="bar")
答案 0 :(得分:1)
尝试从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