我正在使用 seaborn(基于 matplotlib)来绘制一些图表。目前,我正在绘制一个条形图(在 seaborn 中称为因子图),它还打印 0.95 置信区间。我想在图中添加信息,即它是 95% 的置信区间,例如在图例中。有什么方法可以包含这些信息,这样我就不必在我的文字中提及它了?
问问题
830 次
1 回答
0
其实我也刚好遇到这个问题...
我想出的有点骇人听闻,因为sns._BarPlotter
执行所有置信区间计算的实例似乎没有向用户公开。
但是,我们可以自己创建其中之一,使用我们将用于的相同参数,sns.barplot()
请记住,您必须显式提供通常保留为默认值的参数。因为我们没有用这个来绘图(尽管理论上我们可以),所以最重要的参数是数据、ci
和n_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
如果这是经常使用的东西,那么为了公开这个功能可能值得分叉。我还以同样的精神向开发人员提交了功能请求。
于 2015-07-27T01:48:10.497 回答