2017-06-12 22 views
1

我该如何去处理这个来自seaborn文档的swarmplot上的平均值和错误条?在swarmplot上绘制错误条

import matplotlib.pyplot as plt 
import seaborn as sns 
tips = sns.load_dataset("tips") 
sns.swarmplot(x="day", y="total_bill", data=tips); 
plt.show() 

我无法找出一个简单的方法来绘制errorbars不使用errobar功能(不显示所有数据)或使用箱线图之类的,这是我想什么太花哨去做。

回答

2

你不提什么你想你的错误吧覆盖,但你可以绘制样本均值±您swarmplot的顶部,只有plt.errorbar使用标准偏差通过

mean = tips.groupby('day').total_bill.mean() 
std = tips.groupby('day').total_bill.std()/np.sqrt(tips.groupby('day').total_bill.count()) 
sns.swarmplot(x='day', y='total_bill', data=tips, zorder=1) 
plt.errorbar(range(len(mean)), mean, yerr=std) 
plt.show() 

<code>sns.swarmplot</code> and <code>plt.errorbar</code>

另一种选择,住的seaborn世界,是sns.pointplot它通过引导自动生成置信区间:

sns.swarmplot(x='day', y='total_bill', data=tips, zorder=1) 
sns.pointplot(x='day', y='total_bill', data=tips, ci=68) 
plt.show() 

<code>sns.swarmplot</code> and <code>sns.pointplot</code>