首页 > 解决方案 > Seaborn 线图使用中位数而不是平均值

问题描述

seaborn.lineplot()用来创建这样的线图(代表平均值的线,被代表标准的带包围):

sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band", ci='sd', data=df)

在此处输入图像描述

我唯一的问题是,由于我的数据不是高斯数据,我更关心的是中位数而不是均值。如何在 Seaborn 中做到这一点?

或者有没有类似的工具?我知道我可以在 matplotlib 中从头开始做,但这需要做很多工作才能使它变得更好。

标签: matplotlibseabornmedian

解决方案


estimator应该是熊猫方法。

使用estimator=np.median而不是estimator="median".

sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band",
             ci='sd',
             estimator=np.median,
             data=df)

推荐阅读