gpt4 book ai didi

python - 您可以将四分位距绘制为 seaborn 线图上的误差带吗?

转载 作者:行者123 更新时间:2023-12-04 00:32:02 25 4
gpt4 key购买 nike

我正在使用 seaborn lineplot ( https://seaborn.pydata.org/generated/seaborn.lineplot.html ) 绘制时间序列数据,并绘制中位数而不是平均值。示例代码:

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt

fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", estimator = np.median, data=fmri)

我希望误差带显示四分位距而不是置信区间。我知道我可以使用 ci = "sd"对于标准偏差,但有没有一种简单的方法来添加 IQR?我想不明白。

谢谢!

最佳答案

我不知道这是否可以单独使用 seaborn 来完成,但这是使用 matplotlib 做到这一点的一种方法,保持 seaborn 风格。 describe()方法方便地为 DataFrame 提供汇总统计数据,其中包括四分位数,我们可以用它来绘制具有四分位间距的中位数。

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt

fmri = sns.load_dataset("fmri")
fmri_stats = fmri.groupby(['timepoint']).describe()

x = fmri_stats.index
medians = fmri_stats[('signal', '50%')]
medians.name = 'signal'
quartiles1 = fmri_stats[('signal', '25%')]
quartiles3 = fmri_stats[('signal', '75%')]

ax = sns.lineplot(x, medians)
ax.fill_between(x, quartiles1, quartiles3, alpha=0.3);

quartile plot

关于python - 您可以将四分位距绘制为 seaborn 线图上的误差带吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61888674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com