0
我使用seaborn(基于matplotlib)来绘制一些图。 目前,我正在绘制一个barplot(在seaborn中称为factorplot),它也打印出0,95的置信区间。 我想在图例中添加信息,即95%的置信区间,例如在图例中。 有没有什么方法可以包含这些信息,这样我就不必在文中提到它了?图中的置信区间信息(图例?)
我使用seaborn(基于matplotlib)来绘制一些图。 目前,我正在绘制一个barplot(在seaborn中称为factorplot),它也打印出0,95的置信区间。 我想在图例中添加信息,即95%的置信区间,例如在图例中。 有没有什么方法可以包含这些信息,这样我就不必在文中提到它了?图中的置信区间信息(图例?)
其实我只是有这个问题太...
我想出了一个有点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。