修改Seaborn Violinplot以显示均值而非中值

2024-10-05 10:56:25 发布

您现在位置:Python中文网/ 问答频道 /正文

当前显示一些与海洋生物/熊猫有关的数据。我希望覆盖每个类别的平均值(x=ks2)-但不知道如何使用Seaborn实现这一点

我可以删除内部的=“框”-但我想用每个类别的平均值的标记来替换它

理想情况下,然后将每个计算的平均值连接起来

收到的任何指示。 干杯

Science.csv有9k+个条目

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

sns.set(style="whitegrid", palette="pastel", color_codes=True)

# Load the dataset
# df = pd.read_csv("science.csv")  << loaded from csv

df = pd.DataFrame({'ks2': [1, 1, 2,3,3,4], 
                   'science': [40, 50, 34,20,0,44]})


# Draw a nested violinplot and split the violins for easier comparison
sns.violinplot(x="ks2", y="science", data=df, split=True,
               inner="box",linewidth=2)
sns.despine(left=True)
plt.savefig('plot.png')


Tags: csvtheimporttruedfasplt类别
1条回答
网友
1楼 · 发布于 2024-10-05 10:56:25

尝试:

from numpy import mean

然后用估值器=平均值覆盖sns.pointplot

sns.pointplot(x = 'ks2', y='science', data=df, estimator=mean)

然后使用线条样式

相关问题 更多 >

    热门问题