一、什么是matplotlib
1、專門用于開發2D圖表(包括3D圖表)
2、使用起來及其簡單
3、以漸進、交互方式實現數據可視化
4、matplotlib
mat:matrix(矩陣)
plot:畫圖
lib:庫
二、為什么要學習matplotlib
1、數據可視化是在整個數據分析的關鍵輔助工具,可以清晰的理解數據,從而調整我們的分析方法
(1)能將數據進行可視化,更直觀的呈現
(2)使數據更加客觀、更具說服力
(3)幫助理解數據,方便選擇更合適的分析方法
2、數字展示和圖形展示對比
3、我們看到的數據可視化效果,對應的JS庫有D3、echarts
非常酷炫
4、奧卡姆剃刀原理
奧卡姆的剃刀根本內容就是八個字:“如無必要,勿增實體”,我們可以理解為在做一件事的時候,如果有一個簡單的方法解決問題,就不要去選擇更復雜的方式
我們做數據分析,滿足需求就夠了,如果要展示給別人用D3或echarts
三、實現一個簡單的matplotlib畫圖
1、day01_matplotlib_demo
# 導包
import matplotlib.pyplot as plt
# 看環境需要
%matplotlib inline# 創建了一個畫布
plt.figure()
# 橫坐標和縱坐標,比如第一個點是1,4
plt.plot([1, 0, 9], [4, 5, 6])
# 顯示圖像
plt.show()
運行結果:
四、認識matplotlib圖像結構
五、matplotlib三層結構
1、容器層
容器層主要由Canvas、Figure、Axes組成
Canvas是位于最底層的系統層,在繪圖的過程中充當畫板的角色,即放置畫布(Figure)的工具
Figure是Canvas上方的第一層,也是需要用戶來操作的應用層的第一層,在繪圖的過程中充當畫布的角色
Axes是應用層的第二層,在繪圖的過程中相當于畫布上的繪圖區的角色
(1)Figure:指整個圖形(可以通過plt.figure()設置畫布的大小和分辨率等)
(2)Axes(坐標系):數據的繪圖區域
(3)Axis(坐標軸):坐標系中的一條軸,包含大小限制、刻度和刻度標簽
特點為:
(1)一個figure(畫布)可以包含多個axes(坐標系),但是一個axes只能屬于一個figure
(2)一個axes(坐標系)可以包含多個axis(坐標軸),包含兩個即為2d坐標系,3個即為3d坐標系
2、輔助顯示層
輔助顯示層為Axes(繪圖區)內的除了根據數據繪制出的圖像以外的內容,主要包括Axes外觀(facecolor)、邊框線(spines)、坐標軸(axis)、坐標軸名稱(axis label)、坐標軸刻度(tick)、坐標軸刻度標簽(tick label)、網格線(grid)、圖例(legend)、標題(title)等內容
該層的設置可使圖像顯示更加直觀,更加容易被用戶理解,但又不會對圖像產生實質的影響
3、圖像層
?