一、Matplotlib 基礎認知
功能特性:是 Python 強大的繪圖庫,能將數據以多樣化的圖表形式呈現,涵蓋靜態、動態和交互式圖表,支持多種輸出格式,滿足不同場景下的數據可視化需求。
二Matplotlib Pyplott
- 函數繪圖技巧:
plot()函數用于繪制點和線,通過靈活設置參數可定制圖形樣式。如x和y確定數據點位置,fmt設定基本格式(含顏色、標記、線條樣式),**kwargs用于設置額外屬性(像標簽、線寬)。可以繪制規則或不規則的線,若不指定x軸數據,x會依據y值自動設為0, 1, 2...N - 1。
(1)繪制坐標 (1, 3) 到 (8, 10) 的線
(2)繪制坐標 (1, 3) 和 (8, 10) 的兩個點
(3)繪制一條不規則線,坐標為 (1, 3)、(2, 8)、(6, 1)、(8, 10)
(4) 如果我們不指定 x 軸上的點,則 x 會根據 y 的值來設置為 0, 1, 2, 3..N-1
練習:在同一張圖中分別繪制正弦圖和余弦圖
2.多元圖表繪制方法
散點圖:運用scatter()函數繪制,可通過s參數調整圖標大小,c參數自定義點的顏色,還能同時繪制兩組散點圖進行對比分析。
柱形圖:bar()繪制水平柱形圖,barh()繪制垂直柱形圖。能設置柱形顏色,既可以統一設置,也能為各個柱形單獨指定顏色,還可利用width(bar()函數)或height(barh()函數)參數調整柱形寬度。
餅圖:使用pie()函數繪制,可設置labels添加標簽、colors指定顏色、explode突出特定部分、autopct格式化百分比顯示,使數據占比情況一目了然。
直方圖:hist()函數用于繪制直方圖,可設置x指定數據、bins確定箱數、color設定顏色、label添加標簽。支持繪制單組或多組數據的直方圖,并且能與 Pandas 結合,基于 DataFrame 或 Series 對象進行繪制 。
三、Matplotlib 繪圖標記
繪圖標記與線條定制:plot()函數的marker參數定義標記樣式,fmt參數綜合設置標記、線條樣式和顏色,同時還能借助markersize(ms)、markerfacecolor(mfc)、markeredgecolor(mec)分別調整標記大小、內部顏色、邊框顏色;利用linestyle(ls)、color(c)、linewidth(lw)設置線條類型、顏色、寬度。
1.(1) plot()中的 marker 參數:定義一些不一樣的標記。
(2)mt 參數定義了基本格式,如標記、線條樣式和顏色 fmt = '[marker][line][color]'
(3)設置標記大小與顏色:
參數名字 | 簡寫 | 作用 |
markersize | ms | 定義標記的大小。 |
markerfacecolor | mfc | 定義標記內部的顏色。 |
markeredgecolor | mec | 定義標記邊框的顏色。 |
大小:
外框顏色:
內部顏色:
2.線的類型可以使用 linestyle 參數(可簡寫為 ls)定義
類型 | 簡寫 | 說明 |
'solid'?(默認) | '-' | 實線 |
'dotted' | ':' | 點虛線 |
'dashed' | '--' | 破折線 |
'dashdot' | '-.' | 點劃線 |
'None' | ''?或?'?' | 不畫線 |
3.線的顏色可以使用 color 參數(可簡寫為 c)定義:
顏色標記 | 描述 |
'r' | 紅色 |
'g' | 綠色 |
'b' | 藍色 |
'c' | 青色 |
'm' | 品紅 |
'y' | 黃色 |
'k' | 黑色 |
'w' | 白色 |
4.軸標簽、標題與網格線設置:
xlabel()和ylabel()分別用于設置x軸和y軸標簽,title()添加圖表標題
5.網格線
grid()函數用于添加網格線,可通過參數設置顯示與否、網格線類型、顯示方向和樣式。
b | 可選,默認為?None,可以設置布爾值,true?為顯示網格線,false?為不顯示。 |
which | 可選,可選值有?'major'、'minor'?和?'both',默認為?'major',表示應用更改的網格線。 |
axis | 可選,設置顯示哪個方向的網格線,可以是取?'both','x'?或?'y',分別表示兩個方向,x?軸方向或?y?軸方向。 |
**kwargs | 可選,設置網格樣式,可以是?color='r',?linestyle='-'?和?linewidth=2,分別表示網格線的顏色,樣式和寬度。 |
6.多圖繪制布局:subplot()函數可在同一圖中繪制多個子圖,通過指定nrows(行數)、ncols(列數)、index(索引)確定子圖位置,實現多組數據的集中展示。
7.散點圖
scatter():繪制散點圖
8.柱狀圖
(1)bar():繪制柱形圖
自定義各個柱形的顏色:
(2)使用 width 設置柱形圖寬度
(3)barh():繪制垂直方向的柱形圖
?使用 height 設置柱形圖寬度
課堂練習:很多人在買一本書的時候,都比較喜歡貨比三家,例如《python數據分析實戰》在亞馬遜、當當網、中國圖書網、京東和天貓的最低價格分別為39.5、39.9、45.4、38.9、33.34。針對這個數據,我們也可以通過柱形圖來完成,這里使用水平柱形圖來顯示