我有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()
它没有达到预期的效果。它显示了两个空白图表,然后是一个填充图表。
答案 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])