在進行數(shù)據(jù)分析的時候仗谆,經(jīng)常需要將數(shù)據(jù)進行可視化橘蜜,以方便我們對數(shù)據(jù)的認識和理解似炎。
0犬缨,Matplotlib 簡介
Matplotlib 是一個可視化工具包,可以讓我們使用Python 來可視化數(shù)據(jù)恒削。
這里有一些官方資源你可以點擊查看:
- Matplotlib 安裝
- Matplotlib 用戶手冊
- Matplotlib 函數(shù)匯總
- Matplotlib 模塊索引
- Matplotlib 示例庫
- Matplotlib 示例下載
很多更高級的繪圖庫池颈,也都是基于Matplotlib,比如seaborn钓丰,HoloViews躯砰,ggplot 等。
在使用 Matplotlib 時携丁,經(jīng)常需要用到 pyplot 模塊琢歇,用下面代碼引入:
import matplotlib.pyplot as plt
下文中,都用plt
來代指pyplot
梦鉴。
說明:
這里我們只介紹幾種簡單的圖李茫,更多其它的圖,可以查看官方手冊肥橙。
下面的每個函數(shù)魄宏,只介紹了最簡單的用法,其它更多的參數(shù)可以查看手冊存筏。
1宠互,散點圖
plt.scatter
函數(shù)用于繪制散點圖味榛。函數(shù)原型:
scatter(x, y, s = None, c = None, marker = None)
參數(shù)含義:
-
x, y
:分別表示點的橫縱坐標。x, y 可以是單個點坐標予跌,也可以是一組點坐標搏色。 -
s
:表示點的大小。 -
c
:表示點的顏色券册。 -
marker
:表示點的形狀频轿,可選的值見這里,比如 marker 的值為x
,o
,s
等烁焙。
如下代碼略吨,畫了三個點:
# 三個點的坐標分別是:
# (2, 5)
# (3,6)
# (3, 5)
plt.scatter([2, 3, 3], [5, 6, 5], marker='o')
plt.show() # 展示圖
畫出的散點圖如下:
2考阱,折線圖
plt.plot
函數(shù)用于繪制折線圖。函數(shù)原型:
plot(x, y)
參數(shù) x
鞠苟,y
分別表示點的橫縱坐標乞榨,一般是一組點坐標。
比如下面表格代表5
次數(shù)學(xué)考試成績:
次數(shù) | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
成績 | 89 | 78 | 92 | 79 | 86 |
將上面表格數(shù)據(jù)当娱,繪制成折線圖吃既,代碼如下:
x = [1, 2, 3, 4, 5]
y = [89, 78, 92, 79, 86]
plt.plot(x, y)
plt.show()
畫出的折線圖如下:
3,直方圖
直方圖用于描述數(shù)據(jù)的分布情況跨细。
plt.hist
函數(shù)用于繪制直方圖鹦倚。函數(shù)原型:
plt.hist(x, bins=None)
參數(shù)x
是一個一維數(shù)組,bins
可以理解為矩形的個數(shù)冀惭,默認是10
震叙。
假如下面是一次數(shù)學(xué)考試的成績,全班共50 名同學(xué):
將所有同學(xué)的成績畫成直方圖散休,代碼如下:
scores = [
96, 89, 95, 91, 94, 95, 92, 98, 95, 93,
93, 96, 94, 94, 98, 92, 88, 90, 88, 98,
84, 89, 87, 84, 94, 82, 83, 95, 93, 79,
84, 91, 86, 91, 81, 89, 77, 81, 77, 70,
66, 93, 90, 87, 79, 83, 86, 90, 93, 79,
]
plt.hist(scores)
plt.show()
畫出來的直方圖如下媒楼,橫坐標為成績區(qū)間,縱坐標為人數(shù):
通過該直方圖戚丸,可以直觀的看出來每個成績區(qū)間的人數(shù)划址。
4,條形圖
plt.bar
函數(shù)用于繪制條形圖限府。函數(shù)原型:
plt.bar(x, y, width = 0.8)
參數(shù)x
, y
均是一個數(shù)組夺颤,x
是橫坐標,表示數(shù)據(jù)類別胁勺;y
是縱坐標世澜,表示每個類別的頻度。參數(shù)width
表示長條的寬度署穗。
比如下表是一位同學(xué)的期中考試的各科成績:
我們將這位同學(xué)的成績單畫成條形圖宜狐,代碼如下:
# 每個科目分別用字母表示
subjects = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
scores = [96, 89, 85, 91, 75, 90, 88, 79, 89]
plt.bar(subjects, scores)
plt.show()
畫出的條形圖如下:
5势告,餅圖
餅圖常用于表示個體占總體的占比情況。
plt.pie
函數(shù)用于繪制餅圖抚恒。函數(shù)原型:
plt.pie(x, labels=None)
參數(shù)x
是一個數(shù)組咱台,表示一組數(shù)據(jù),labels
用于描述每個數(shù)據(jù)的含義俭驮。
比如下表是某個公司某年每個季度的收入:
我們可以用餅圖分析出每個季度占全年收入的占比回溺,代碼如下:
# 表示每個季度
quarters = ['1', '2', '3', '4']
incomes = [56, 89, 75, 91]
plt.pie(incomes, labels=quarters)
plt.show()
畫出的餅圖如下:
(本節(jié)完。)
推薦閱讀: