我在 seaborn 中有一个 scatter + lineplot,以这种方式创建:
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)。我想为这个特定项目添加一个标准。例如:+= 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'
谢谢。
答案 0 :(得分:2)
ci
) 的误解。
ci
。lineplot
的 hue
中生成的聚合值将使用 estimator='mean'
,然后将具有 ci
。ci
。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')