Python Pandas 圖形繪製(二):直方圖

Pandas 圖形繪製(二):直方圖

直方圖(Histogram)又稱品質分布圖。

經常用來表示數據的分布情況。

一般用橫軸表示數據類型(區間),縱軸表示分布情況(頻數)。


1. 對單列數據繪製直方圖 df.hist

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()

1.png

2. 對所有數據繪製多子圖直方圖 df.hist

df.hist(color='r', alpha=0.5, bins=50)
# 不要加 plot,直接用 hist 即可多子圖顯示
# color 可以指定顏色
plt.show()

6.png

3. 累計直方圖 cumulative=True

df['a'].plot.hist(cumulative=True)
plt.show()

2.png

4. 交叉直方圖/重疊顯示直方圖 df.plot.hist

df.plot.hist(alpha=0.9,bins=50)
# alpha 代表重疊的透明度,如果是 0.9,表示 90% 的顏色為 'b'
# bins 代表一組數據有多少根柱子,即把數據分成多少份
plt.show()

3.png

5. 堆疊直方圖/疊加顯示直方圖 stacked=True

df.plot.hist(stacked=True, bins=20)
# 在 'a' 和 'b' 重疊的部分進行 頻次 累加堆疊
plt.show()

4.png

6. 水平直方圖 orientation=’horizontal’

df['a'].plot.hist(orientation='horizontal')
plt.show()

5.png

Tags: