直方图(Histogram)又称质量分布图。
经常用来表示数据的分布情况。
一般用横轴表示数据类型(区间),纵轴表示分布情况(频数)。
Pandas 图形绘制(二):直方图
- 1. 对单列数据绘制直方图 df.hist
- 2. 对所有数据绘制多子图直方图 df.hist
- 3. 累计直方图 cumulative=True
- 4. 交叉直方图/重叠显示直方图 df.plot.hist
- 5. 堆叠直方图/叠加显示直方图 stacked=True
- 6. 水平直方图 orientation='horizontal'
1. 对单列数据绘制直方图 df.hist
1 2 3 4 5 6 7 8 9 10 | import matplotlib.pyplot as plt import pandas as pd import numpy as np df = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000)}, columns=['a', 'b']) # 这里我们产生两个标准正态分布 # 'a' 这一组 +1 以后 相当于整个分布向右平移了 # 原来以 0 为中心,变为了以 1 为中心 df['a'].hist() plt.show() |
2. 对所有数据绘制多子图直方图 df.hist
1 2 3 4 | df.hist(color='r', alpha=0.5, bins=50) # 不要加 plot,直接用 hist 即可多子图显示 # color 可以指定颜色 plt.show() |
3. 累计直方图 cumulative=True
1 2 | df['a'].plot.hist(cumulative=True) plt.show() |
4. 交叉直方图/重叠显示直方图 df.plot.hist
1 2 3 4 | df.plot.hist(alpha=0.9,bins=50) # alpha 代表重叠的透明度,如果是 0.9,表示 90% 的颜色为 'b' # bins 代表一组数据有多少根柱子,即把数据分成多少份 plt.show() |
5. 堆叠直方图/叠加显示直方图 stacked=True
1 2 3 | df.plot.hist(stacked=True, bins=20) # 在 'a' 和 'b' 重叠的部分进行 频次 累加堆叠 plt.show() |
6. 水平直方图 orientation=‘horizontal’
1 2 | df['a'].plot.hist(orientation='horizontal') plt.show() |