我已经绘制了4张条形图,显示击球手得分最高的4分、6分、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)的网格中并排绘制这些条形图?
最佳答案
使用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()
关于python - 如何在matplotlib的单个矩形网格中绘制多个图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42322885/