
1.Matplotlib介紹
什么是Matplotlib
Matplotlib是一個Python的繪圖庫,它可與 NumPy 一起使用,可以代替M
Matplotlib安裝
由于Matplotlib是第三方庫,所以我們需要安裝它才可以使用。注意,Matplotlib3.0要求python3版本才可安裝使用。
安裝命令:pip install matplotlib
安裝可參考官網:https://matplotlib.org/users/installing.html
2.使用matplotlib繪圖
使用plt.figure生成一張新的畫布

注意
- 在IPython中,執行該代碼一個空白的繪圖窗口就會出現,但在Jupyter中則沒有任何顯示
但是可以通過fig.add_subplot創建一個或多個子圖。
如:帶有四個子圖的空白Matplotlib圖片

除此之外,Matplotlib包含一個便捷方法plt.subplots創建一個新的圖片,然后返回包含了已生成子圖對象的Numpy數組。
- plt.subplots(nrows, ncols, sharex, sharey)
- nrows子圖的行數
- ncols子圖的列數
- sharex 所有子圖使用相同的x軸刻度
- sharey 所有子圖使用相同的y軸刻度

那么實際上,當我們不需要使用子圖時,可以通過plt對象直接繪制圖形。
3.使用matplotlib繪制折線圖
折線圖可以通過plot()函數來繪制
- plt.plot(x, y) # 使用默認的線樣式及顏色繪制x,y構建的圖形

并且,plt.plot()函數除了傳入制圖數據,還可以設置線的顏色等。
- color 設置線的顏色
- linestyle 設置線的樣式
- marker 標記樣式

plt.plot()參數使用具體可參考:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot
圖形組成
實際上,圖形的組成除了x,y軸。還有很多組件。如下圖

常用的plt方法
plt.figure(figsize=None,dpi=None) #生成新的圖片,figsize:圖片大小,dpi:透明度
plt.savefig(fname) #保存圖片
plt.xticks(ticks=None) #設置x軸刻度的值
plt.yticks(ticks=None) #設置y軸刻度的值
plt.xlabel(xlabel) #設置x軸標簽
plt.ylabel(ylabel) #設置y軸標簽
plt.title() #設置圖標題
plt.grid() #根據x軸和y軸的數值展示軸網格
中文顯示問題
當我們需要設置軸標簽,標題等,通常會使用到中文。但是,matplotlib默認不顯示中文,如圖:

解決方法
方法一
import matplotlib
font = { 'family':'SimHei', 'weight':'bold', 'size':12
}
matplotlib.rc("font", **font)
方法二
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]plt.plot(x,y)
plt.xlabel("x軸標簽",fontproperties=font)
plt.show()
練習
如果列表a表示10點到12點的每一分鐘的氣溫,如何繪制折線圖觀察每分鐘氣溫的變化情況
練習
假設大家在30歲的時候,根據自己的實際情況,統計出來了你和同桌從11歲到30歲每年交的男女朋友的數量如列表a和b,請繪制出該數據的折線圖,以便分析自己和同桌每年交男女朋友的數量走勢
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
b = [1,0,3,1,2,2,2,3,1,1,1,1,1,2,1,1,2,3,2,2]
要求:
- y軸表示個數
- x軸表示歲數,比如11歲,12歲