如何并排绘制2个直方图?

时间:2017-07-13 01:04:53

标签: pandas matplotlib histogram

我有2个数据帧。我想根据每个并排的列'速率'绘制直方图。怎么做?

我试过了:

import matplotlib.pyplot as plt
plt.subplot(1,2,1)

dflux.hist('rate' , bins=100) 
plt.subplot(1,2,2) 
dflux2.hist('rate' , bins=100) 
plt.tight_layout() 
plt.show() 

它没有达到预期的效果。它显示了两个空白图表,然后是一个填充图表。

1 个答案:

答案 0 :(得分:7)

使用subplots定义具有两个轴的图形。然后使用hist参数指定要在ax范围内绘制的轴。

fig, axes = plt.subplots(1, 2)

dflux.hist('rate', bins=100, ax=axes[0])
dflux2.hist('rate', bins=100, ax=axes[1])

演示

dflux = pd.DataFrame(dict(rate=np.random.randn(10000)))
dflux2 = pd.DataFrame(dict(rate=np.random.randn(10000)))

fig, axes = plt.subplots(1, 2)

dflux.hist('rate', bins=100, ax=axes[0])
dflux2.hist('rate', bins=100, ax=axes[1])

enter image description here