在python matplotlib中调整boxplot中框的宽度

时间:2015-09-07 17:46:17

标签: python matplotlib boxplot

我想减小下面方框图中框的宽度。这是我的代码,但它不起作用:

bp = plt.boxplot(boxes, widths = 0.6, patch_artist = True)

enter image description here

2 个答案:

答案 0 :(得分:12)

documentation有一个宽度选项:

  

widths:array-like,default = 0.5

     

标量或矢量,并设置每个框的宽度。默认值为0.5或0.15 *(极限位置之间的距离),如果它更小。

以下是一个例子:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(937)
data = np.random.lognormal(size=(37, 4), mean=1.5, sigma=1.75)
labels = list('ABCD')
fs = 10  # fontsize

plt.boxplot(data, labels=labels, showfliers=False, widths=(1, 0.5, 1.2, 0.1))

plt.show()

Result

答案 1 :(得分:1)

尝试通过axes工作,看看它是否有效:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.boxplot(boxes, widths = 0.6, patch_artist = True)