Nhìn vào nguồn (seaborn / seaborn / c sortical.py, dòng 2166), chúng tôi thấy
def barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
estimator=np.mean, ci=95, n_boot=1000, units=None,
orient=None, color=None, palette=None, saturation=.75,
errcolor=".26", ax=None, **kwargs):
Vì vậy, giá trị mặc định là, thực sự, .95, như bạn đoán.
EDIT: Cách tính CI: barplot
các cuộc gọi utils.ci()
có
seaborn / seaborn / utils.py
def ci(a, which=95, axis=None):
"""Return a percentile range from an array of values."""
p = 50 - which / 2, 50 + which / 2
return percentiles(a, p, axis)
và cuộc gọi percentiles()
này đang gọi:
def percentiles(a, pcts, axis=None):
"""Like scoreatpercentile but can take and return array of percentiles.
Parameters
----------
a : array
data
pcts : sequence of percentile values
percentile or percentiles to find score at
axis : int or None
if not None, computes scores over this axis
Returns
-------
scores: array
array of scores at requested percentiles
first dimension is length of object passed to ``pcts``
"""
scores = []
try:
n = len(pcts)
except TypeError:
pcts = [pcts]
n = 0
for i, p in enumerate(pcts):
if axis is None:
score = stats.scoreatpercentile(a.ravel(), p)
else:
score = np.apply_along_axis(stats.scoreatpercentile, axis, a, p)
scores.append(score)
scores = np.asarray(scores)
if not n:
scores = scores.squeeze()
return scores
axis=None
vậy score = stats.scoreatpercentile(a.ravel(), p)
đó là
scipy.stats.scoreatpercentile(a, per, limit=(), interpolation_method='fraction', axis=None)[source]
Calculate the score at a given percentile of the input sequence.
Ví dụ: điểm ở per = 50 là trung vị. Nếu lượng tử mong muốn nằm giữa hai điểm dữ liệu, chúng ta nội suy giữa chúng, theo giá trị của phép nội suy. Nếu giới hạn tham số được cung cấp, nó sẽ là một tuple (dưới, trên) của hai giá trị.
Parameters:
a : array_like
A 1-D array of values from which to extract score.
per : array_like
Percentile(s) at which to extract score. Values should be in range [0,100].
limit : tuple, optional
Tuple of two scalars, the lower and upper limits within which to compute the percentile. Values of a outside this (closed) interval will be ignored.
interpolation_method : {‘fraction’, ‘lower’, ‘higher’}, optional
This optional parameter specifies the interpolation method to use, when the desired quantile lies between two data points i and j
fraction: i + (j - i) * fraction where fraction is the fractional part of the index surrounded by i and j.
lower: i.
higher: j.
axis : int, optional
Axis along which the percentiles are computed. Default is None. If None, compute over the whole array a.
Returns:
score : float or ndarray
Score at percentile(s).
và tìm kiếm trong nguồn cho scipy.stats.stats.py chúng ta thấy chữ ký
def scoreatpercentile(a, per, limit=(), interpolation_method='fraction',
axis=None):
vì vậy, seaboard gọi nó mà không có param cho interpolation
nó đang sử dụng fraction
.
Bên cạnh đó, có một cảnh báo về sự lỗi thời trong tương lai stats.scoreatpercentile()
, cụ thể là
Chức năng này sẽ trở nên lỗi thời trong tương lai. Đối với Numpy 1.9 trở lên, numpy.percentile cung cấp tất cả các chức năng mà scoreatpercentile cung cấp. Và nó nhanh hơn đáng kể. Do đó, nên sử dụng numpy.percentile cho người dùng có numpy> = 1.9.