有没有办法在matplotlib中制作多个水平箱图?

mis*_*haF 4 python matplotlib

我正在尝试制作一个matplotlib图,它将有多个水平箱图堆叠在一起.该文档显示了如何制作单个水平箱图以及如何在此部分中制作多个垂直方向图.

我尝试使用以下代码中的子图:

import numpy as np
import pylab as plt

totfigs = 5

plt.figure()
plt.hold = True

for i in np.arange(totfigs):    
    x = np.random.random(50)
    plt.subplot('{0}{1}{2}'.format(totfigs,1,i+1))
    plt.boxplot(x,vert=0)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我的输出结果只是一个水平箱图.

有人建议吗?

编辑:感谢@joaquin,我修复了plt.subplot调用行.现在subplot版本可以工作,但仍然希望箱图全部在一个图中...

Ste*_*rry 5

如果我正确理解你,你只需要传递一个包含你想要绘制的每个数组的列表(或一个二维数组)的boxplot.

import numpy as np
import pylab as plt

totfigs = 5

plt.figure()
plt.hold = True
boxes=[]
for i in np.arange(totfigs):    
    x = np.random.random(50)
    boxes.append(x)

plt.boxplot(boxes,vert=0)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述