我正在使用seaborn(基于matplotlib)绘制一些图表。 目前,我正在绘制一个barplot(在seaborn中称为factorplot),它也打印出0.95的置信区间。 我想在图例中添加信息,即95%置信区间,例如在图例中。 有没有办法包含这些信息,所以我不必在文中提及它?
答案 0 :(得分:0)
我实际上也只是遇到了这个问题......
我想出的是有点hackish,因为看起来执行所有置信区间计算的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
的分支。我也以同样的精神向开发者提交了feature request。