2017-06-12 23 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>