如何在matplotlib中的单个矩形网格中绘制多个图?

时间:2017-02-19 02:06:08

标签: python pandas matplotlib plot

我已经绘制了4个条形图,显示了击球手使用以下代码得分的4,6,2,2,1的最高数量:

for i in [6,4,2,1]:
ax=delivery[delivery['batsman_runs']==i].batsman.value_counts()[:10].plot.bar(width=0.8)
for p in ax.patches:
        ax.annotate(format(p.get_height()), (p.get_x()+0.10, p.get_height()+1))
mlt.show()

现在,此方法将条形图绘制在另一个下方。如何在(2x2)网格中将这些条形图并排绘制在一起?

2 个答案:

答案 0 :(得分:1)

使用pyplot.subplots。在下面的例子中,我使用pyplot作为plt。

fig, axes = plt.subplots((2,2))
arr = [6,4,2,1]
for i in range(len(arr)):
    if i  < 2:
        axes[0][i].bar(i, delivery[delivery['batsman_runs']==arr [i]].batsman.value_counts()[:10],  0.8)
    else:
        axes[1][i - 2].bar(i, delivery[delivery['batsman_runs']==arr [i]].batsman.value_counts()[:10], 0.8)
plt.show()

答案 1 :(得分:-1)