【问题标题】:Confidence Interval information in Figure (legend?)图中的置信区间信息(图例?)
【发布时间】:2014-11-29 08:09:35
【问题描述】:

我正在使用 seaborn(基于 matplotlib)来绘制一些图表。 目前,我正在绘制一个条形图(在 seaborn 中称为因子图),它还打印 0.95 置信区间。 我想在图中添加信息,即它是 95% 的置信区间,例如在图例中。 有什么方法可以包含这些信息,这样我就不必在我的文字中提及它了?

【问题讨论】:

    标签: matplotlib seaborn


    【解决方案1】:

    其实我也遇到了这个问题……

    我想出的有点骇人听闻,因为执行所有置信区间计算的 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

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2020-02-04
      • 2021-01-09
      • 1970-01-01
      • 2021-02-05
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多