一.Matplotlib簡(jiǎn)介
Matplotlib是一個(gè)Python 2D繪圖庫(kù),能夠以多種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版物質(zhì)量的圖形,用來(lái)繪制各種靜態(tài),動(dòng)態(tài),交互式的圖表。
Matplotlib可用于Python腳本,Python和IPython Shell、Jupyter notebook,Web應(yīng)用程序服務(wù)器和各種圖形用戶界面工具包等。
Matplotlib是Python數(shù)據(jù)可視化庫(kù)中的泰斗,它已經(jīng)成為python中公認(rèn)的數(shù)據(jù)可視化工具,我們所熟知的pandas和seaborn的繪圖接口其實(shí)也是基于matplotlib所作的高級(jí)封裝。
二.Matplotlib繪圖原理
Matplotlib的圖像是畫(huà)在figure(如windows,jupyter窗體)上的
1.figure是最頂級(jí),用來(lái)容納所有元素
2.Axes是第二等級(jí),容納下層等級(jí)元素來(lái)構(gòu)造子圖組成figure,即一個(gè)figure可以由【1:n】個(gè)子圖,來(lái)組成figure。
3.Axis屬于第三等級(jí),處理所有和坐標(biāo)軸,網(wǎng)格有關(guān)的元素
4.Tick屬于第四等級(jí),用來(lái)處理所有刻度元素
三.Matplotlib的兩種繪圖接口
第一種接口:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
?
x = np.linspace(0, 2, 100)
?
fig, ax = plt.subplots() ?
ax.plot(x, x, label='linear') ?
ax.plot(x, x**2, label='quadratic') ?
ax.plot(x, x**3, label='cubic') ?
ax.set_xlabel('x label')?
ax.set_ylabel('y label')?
ax.set_title("Simple Plot") ?
ax.legend()?
?
plt.show()
第二種接口:
import matplotlib.pyplot as plt
import matplotlib as mpl
import ?numpy as np
?
x = np.linspace(0, 2, 100)
?
plt.plot(x, x, label='linear')?
plt.plot(x, x**2, label='quadratic') ?
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
?
plt.show()