我正在尝试制作一个 matplotlib 图,该图将多个水平箱线图彼此堆叠。该文档展示了如何制作单个水平箱线图以及如何制作多个垂直方向的图在这个部分。 http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.boxplot
我尝试使用子图,如以下代码所示:
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()
不过,我的输出结果只是一个水平箱线图。
有人有什么建议吗?
Edit:感谢@joaquin,我修复了plt.subplot
呼叫线路。现在子图版本可以工作,但仍然希望箱线图全部集中在一张图中......
如果我理解正确,您只需向 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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)