我正在尝试更改在下图中标记为红色的BoxPlot触须的帽(最小点和最大点)的长度
python - 如何在Matplotlib Boxplot中更改晶须帽的长度-LMLPHP
是否可以在不改变盒子大小的情况下更改胡须的最小标记和最大标记的长度?
编辑:我的意思是增加线标记的长度,这表示晶须的最小和最大末端,而不是通过增加置信区间来增加整个晶须本身的长度。在最新更新的图片中,我显示我希望黑色的最小和最大标记增加,以便它与我用红线指示的大小相匹配。

最佳答案

一些来自aboxplot example的假数据

# fake up some more data
spread = np.random.rand(50) * 100
center = np.ones(25) * 40
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
d2 = np.concatenate((spread, center, flier_high, flier_low), 0)
data.shape = (-1, 1)
d2.shape = (-1, 1)
# data = concatenate( (data, d2), 1 )
# Making a 2-D array only works if all the columns are the
# same length.  If they are not, then use a list instead.
# This is actually more efficient because boxplot converts
# a 2-D array into a list of vectors internally anyway.
data = [data, d2, d2[::2, 0]]
# multiple box plots on one figure

pyplot.boxplot returns a dictionaryLine2D实例中,caps是您要更改的。这个解决方案将使他们长5×X轴单位,设置他们的颜色和线宽。
plt.figure()
returns = plt.boxplot(data, 0, '')

caps = returns['caps']
n = .25
n = .25
for cap, color in zip(caps, ['xkcd:azul','aquamarine','crimson','darkorchid','coral','thistle']):
    #print(cap.properties()['xdata'])
    #cap.set_xdata(cap.get_xdata() + (-n,+n))
    #cap.set_color(color)
    #cap.set_linewidth(4.0)
    cap.set(color=color, xdata=cap.get_xdata() + (-n,+n), linewidth=4.0)

python - 如何在Matplotlib Boxplot中更改晶须帽的长度-LMLPHP
Artist Tutorial

关于python - 如何在Matplotlib Boxplot中更改晶须帽的长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50996368/

10-12 13:04