绘制彼此相邻的直方图

plotting histograms next to each other

我有 4 个直方图形成 4 个不同的 df。我可以将它们一个接一个地绘制出来,但想不出一种方法将它们并排绘制,让我们将 2 个放在顶部,2 个放在底部。

hist_1 = df1.hist(bins=50,range=[0,1])
hist_2 = df2.hist(bins=50,range=[0,1])
hist_3 = df3.hist(bins=50,range=[0,1])
hist_4 = df4.hist(bins=50,range=[0,1])

我试过不同的东西,但总是显示它们重叠在同一个图形上。

这是你期待的吗?使用 subplots 将轴分成 4 个(顶部 2 个,底部 2 个),然后绘制每个子图中每个 df 的直方图。

代码:

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)
axs = [ax1, ax2, ax3, ax4]
dfs = [df1, df2, df3, df4]

for n in range(len(axs)):
    axs[n].hist(dfs[n], bins=50, range=[0,1])
plt.show()

输出: