2014-10-04 76 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