我正在使用seaborn.lineplot()
创建这样的线形图(代表均值的线,由代表std的带包围):
sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band", ci='sd', data=df)
我唯一的问题是,由于我的数据不是高斯数据,所以我更关心中位数而不是平均值。在Seaborn中该怎么做?
或者是否有类似的工具?我知道我可以在matplotlib中从头开始做,但是要使它变得如此好,需要很多工作。
答案 0 :(得分:6)
estimator
应该是熊猫方法。
使用estimator=np.median
代替estimator="median"
。
sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band",
ci='sd',
estimator=np.median,
data=df)
答案 1 :(得分:2)
estimator
:pandas方法的名称或可调用或无,可选
在同一x级别上对y变量的多个观察结果进行聚合的方法。如果为None,将绘制所有观察结果。
因此尝试
sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band",
ci='sd', estimator="median", data=df)