matplotlib 向海运散点图添加误差线(当合并折线图时)

68bkxrlz  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(151)

我有一个seaborn中的散点+线图,是这样创建的:

import seaborn as sns
import pandas as pd

# load sample data from seaborn
flights = sns.load_dataset('flights')

fig_example = plt.figure(figsize=(10, 10))
sns.lineplot(data=flights, x="year", y="passengers", hue="month")
sns.scatterplot(data=flights, x="year", y="passengers", hue="month",legend=False)

现在,我想添加误差条。例如,第一个入口点是(年份=1949,乘客=112)。我想为这个特定项目添加一个STD。例如:+= 5名乘客。我该怎么做?
这个问题没有回答我的问题:How to use custom error bar in seaborn lineplot
我需要把它添加到散点图中。不是直线图。
当我尝试这个命令时:

ax = sns.scatterplot(x="x", y="y", hue="h", data=gqa_tips, s=100, ci='sd', err_style='bars')

失败:

AttributeError: 'PathCollection' object has no property 'err_style'
7gcisfzg

7gcisfzg1#

  • 这个问题似乎显示了错误条/置信区间(ci)的误解。
  • 具体来说,。第一个入口..我想为这个特定项目添加一个std
  • 在单个数据点上放置误差条是不正确的统计表示,因为这些单个数据点没有误差,至少与问题相关。
  • 单个数据点可能具有与准确度和精密度相关的测量误差,但这里不是这种情况。有关测量误差的示例,请参见Measurements and Error AnalysisVisualizing Errors
  • 图中的每个点都没有错误,因为它是一个精确值。
  • 合计值(e。例如平均值)相对于所有真实的数据点具有ci
  • 在没有huelineplot中生成的聚合值将使用estimator='mean',然后将具有ci
  • 请参阅How to use custom error bar in seaborn lineplot以自定义ci
    *应该使用errorbar参数,而不是ci
  • ci参数已从seaborn 0弃用。12.0,根据v0。12.0(2022年9月):更灵活的错误栏。
import pandas as pd
import seaborn as sns

# load the data
flights = sns.load_dataset('flights')

# plots
fig, (ax1, ax2, ax3) = plt.subplots(ncols=3, figsize=(18, 7))
sns.lineplot(data=flights, x="year", y="passengers", marker='o', ci=95, ax=ax1, label='Mean CI: 95')
ax1.set(title='Mean Passengers per Year')

sns.lineplot(data=flights, x="year", y="passengers", ci='sd', err_style='bars', ax=ax2, label='Mean CI: sd')
flights.groupby('year').passengers.agg([min, max]).plot(ax=ax2)
ax2.set(title='Mean Min & Max Passengers per Year')

sns.lineplot(data=flights, x="year", y="passengers", hue="month", marker='o', ax=ax3)
ax3.set(title='Individual Passengers per Month\nNo CI for Individual Points')

相关问题