您當前的位置:首頁 > 遊戲

Matplotlib之常見圖形繪製

作者:由 黑馬程式設計師Python 發表于 遊戲時間:2022-11-07

如果大家一點基礎都沒有移步到:

Matplotlib之HelloWorld

Matplotlib基礎繪圖功能:折線圖為例

本文的學習目標就是掌握常見統計圖以及其意義。Matplotlib能夠繪製

折線圖、散點圖、柱狀圖、直方圖、餅圖。

我們需要知道不同的統計圖的意義,以此來決定選擇哪種統計圖來呈現我們的資料。

一、常見圖形種類及意義

折線圖

:以折線的上升或下降來表示統計數量的增減變化的統計圖

特點:能夠顯示資料的變化趨勢,反映事物的變化情況。(變化)

api:plt。plot(x, y)

Matplotlib之常見圖形繪製

散點圖:

用兩組資料構成多個座標點,考察座標點的分佈,判斷兩變數之間是否存在某種關聯或總結座標點的分佈模式。

特點:判斷變數之間是否存在數量關聯趨勢,展示離群點(分佈規律)

api:plt。scatter(x, y)

Matplotlib之常見圖形繪製

柱狀圖:

排列在工作表的列或行中的資料可以繪製到柱狀圖中。

特點:繪製連離散的資料,能夠一眼看出各個資料的大小,比較資料之間的差別。(統計/對比)

api:plt。bar(x, width, align=‘center’, **kwargs)

Parameters:

x : 需要傳遞的資料

width : 柱狀圖的寬度

align : 每個柱狀圖的位置對齊方式

{‘center’, ‘edge’}, optional, default: ‘center’

**kwargs :

color:選擇柱狀圖的顏色

Matplotlib之常見圖形繪製

直方圖:

由一系列高度不等的縱向條紋或線段表示資料分佈的情況。 一般用橫軸表示資料範圍,縱軸表示分佈情況。

特點:繪製連續性的資料展示一組或者多組資料的分佈狀況(統計)

api:matplotlib。pyplot。hist(x, bins=None)

Parameters:

x : 需要傳遞的資料

bins : 組距

Matplotlib之常見圖形繪製

餅圖:

用於表示不同分類的佔比情況,透過弧度大小來對比各種分類。

特點:分類資料的佔比情況(佔比)

api:plt。pie(x, labels=,autopct=,colors)

Parameters:

x:數量,自動算百分比

labels:每部分名稱

autopct:佔比顯示指定%1。2f%%

colors:每部分顏色

Matplotlib之常見圖形繪製

二、散點圖繪製

需求:探究房屋面積和房屋價格的關係

房屋面積資料:

x = [225。98, 247。07, 253。14, 457。85, 241。58, 301。01, 20。67, 288。64,

163。56, 120。06, 207。83, 342。75, 147。9 , 53。06, 224。72, 29。51,

21。61, 483。21, 245。25, 399。25, 343。35]

房屋價格資料:

y = [196。63, 203。88, 210。75, 372。74, 202。41, 247。61, 24。9 , 239。34,

140。32, 104。15, 176。84, 288。23, 128。79, 49。64, 191。74, 33。1 ,

30。74, 400。02, 205。35, 330。64, 283。45]

Matplotlib之常見圖形繪製

程式碼:

# 0。準備資料

x = [225。98, 247。07, 253。14, 457。85, 241。58, 301。01, 20。67, 288。64,

163。56, 120。06, 207。83, 342。75, 147。9 , 53。06, 224。72, 29。51,

21。61, 483。21, 245。25, 399。25, 343。35]

y = [196。63, 203。88, 210。75, 372。74, 202。41, 247。61, 24。9 , 239。34,

140。32, 104。15, 176。84, 288。23, 128。79, 49。64, 191。74, 33。1 ,

30。74, 400。02, 205。35, 330。64, 283。45]

# 1。建立畫布

plt。figure(figsize=(20, 8), dpi=100)

# 2。繪製散點圖

plt。scatter(x, y)

# 3。顯示影象

plt。show()

三、柱狀圖繪製

需求-對比每部電影的票房收入

Matplotlib之常見圖形繪製

電影資料如下圖所示:

Matplotlib之常見圖形繪製

準備資料

[‘雷神3:諸神黃昏’,‘正義聯盟’,‘東方快車謀殺案’,‘尋夢環遊記’,‘全球風暴’, ‘降魔傳’,‘追捕’,‘七十七天’,‘密戰’,‘狂獸’,‘其它’]

[73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]

繪製柱狀圖

程式碼:

# 0。準備資料

# 電影名字

movie_name = [‘雷神3:諸神黃昏’,‘正義聯盟’,‘東方快車謀殺案’,‘尋夢環遊記’,‘全球風暴’,‘降魔傳’,‘追捕’,‘七十七天’,‘密戰’,‘狂獸’,‘其它’]

# 橫座標

x = range(len(movie_name))

# 票房資料

y = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]

# 1。建立畫布

plt。figure(figsize=(20, 8), dpi=100)

# 2。繪製柱狀圖

plt。bar(x, y, width=0。5, color=[‘b’,‘r’,‘g’,‘y’,‘c’,‘m’,‘y’,‘k’,‘c’,‘g’,‘b’])

# 2。1b修改x軸的刻度顯示

plt。xticks(x, movie_name)

# 2。2 新增網格顯示

plt。grid(linestyle=“——”, alpha=0。5)

# 2。3 新增標題

plt。title(“電影票房收入對比”)

# 3。顯示影象

plt。show()

參考連結:

Python plotting - Matplotlib 3。4。3 documentation

四、總結

折線圖【知道】

能夠顯示資料的變化趨勢,反映事物的變化情況。(變化)

plt。plot()

散點圖【知道】

判斷變數之間是否存在數量關聯趨勢,展示離群點(分佈規律)

plt。scatter()

柱狀圖【知道】

繪製連離散的資料,能夠一眼看出各個資料的大小,比較資料之間的差別。(統計/對比)

plt。bar(x, width, align=“center”)

直方圖【知道】

繪製連續性的資料展示一組或者多組資料的分佈狀況(統計)

plt。hist(x, bins)

餅圖【知道】

用於表示不同分類的佔比情況,透過弧度大小來對比各種分類

plt。pie(x, labels, autopct, colors)

標簽: plt  柱狀圖  資料  繪製  64