2014-10-04 77 views
0

我使用seaborn(基於matplotlib)來繪製一些圖。 目前,我正在繪製一個barplot(在seaborn中稱爲factorplot),它也打印出0,95的置信區間。 我想在圖例中添加信息,即95%的置信區間,例如在圖例中。 有沒有什麼方法可以包含這些信息,這樣我就不必在文中提到它了?圖中的置信區間信息(圖例?)

回答

0

其實我只是有這個問題太...

我想出了一個有點hackish,因爲它看來,sns._BarPlotter實例做所有的置信區間計算不暴露給用戶。

但是,我們可以使用我們將用於sns.barplot()的相同參數創建其中的一個,請記住,您必須明確提供通常保留爲默認值的參數。因爲我們沒有這個陰謀(雖然我們可以,理論上),最重要的參數是數據,cin_boot(引導迭代次數):

from seaborn.categorical import _BarPlotter 
bp = _BarPlotter(x='xdata',y='ydata', 
       hue='h', 
       data=df, 
       palette=['#C24D52','#4A70B0'], 
       ci=95, 
       n_boot=5000, 
       units=None, 
       order=None, 
       hue_order=None, 
       estimator=np.mean, 
       orient=None, 
       color=None, 
       saturation=0.75, 
       errcolor='.26') 

一旦你有你_BarPlotter,你可以訪問它的屬性,如計算的置信區間:

In[1]: bp.confint 

Out[1]: array([[[ 2.06522099, 2.41611633], 
       [ 2.20088709, 2.54810739], 
       [  nan,   nan]], 

       [[ 1.83258433, 2.3521511 ], 
       [ 2.21361428, 2.64342349], 
       [  nan,   nan]], 

       [[ 1.30160209, 1.54427938], 
       [ 1.99597604, 2.22272918], 
       [  nan,   nan]], 

       [[  nan,   nan], 
       [  nan,   nan], 
       [ 0.58609489, 0.83233859]]]) 

如果這是用過的東西足夠頻繁,它可能是值得的seaborn叉子,以公開此功能。我也以同樣的精神向開發者提交了feature request