我试图绘制n个直方图并将它们并排显示在一起(不是在相同的直方图中。
我试过这段代码:
for r in range(1, n):
plt.hist(combined['apple{} tomato'.format(n)], bins = bin, alpha=0.5, color='#0bf9ea')
plt.hist(combined['apple{} potato'.format(n)], bins = bin, alpha=0.5, color='#ff7fa7')
plt.show()
当我输入此代码时,它会显示直方图1,然后当我关闭图形时,会出现直方图2,依此类推直到直方图n。
for r in range(1, n):
plt.hist(combined['apple{} tomato'.format(n)], bins = bin, alpha=0.5, color='#0bf9ea')
plt.hist(combined['apple{} potato'.format(n)], bins = bin, alpha=0.5, color='#ff7fa7')
plt.show()
然而,当我尝试这段代码时,它会向我显示一个直方图,其中包含所有直方图。
有没有办法在一个窗口中分别显示所有n个不同的直方图?
谢谢:D
答案 0 :(得分:3)
您是否尝试过使用matplotlib.pyplot.subplot()?
for r in range(1,n):
matplotlib.pyplot.subplot(nrows, ncols, r)
plt.hist()
答案 1 :(得分:2)
试试这个:
a = plt.subplots(n-1, 2)[1].ravel()
for r in range (1, n):
a[0].hist(combined['apple{} tomato'.format(n)], bins = bin, alpha=0.5, color='#0bf9ea')
a[1].hist(combined['apple{} potato'.format(n)], bins = bin, alpha=0.5, color='#ff7fa7')
plt.show()