matplotlib
1、測試
在python環境中,輸入如下代碼,如果不報錯則表示安裝成功
import matplotlib
import matplotlib.pyplot as plt
2、運作
在python中輸入如下代碼,測試生成的matplotlib圖形
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.ylabel('some numbers')
plt.show()
運作上述語句得到如下結果
3、pyplot庫
matplotlib.pyplot是一個函數集合,可以像使用matlab似的進行圖形繪制。pyplot中每個函數都會對畫布圖像做出相應的改變,比如建立畫布、繪制繪圖區、畫線、添加文字說明等。
常用函數如下:
1.plt.figure()
建立一個全局繪圖區域,包含如下參數
參數 | 含義 |
---|---|
num | 設定圖像編号 |
figsize | 設定圖像寬度高度 |
facecolor | 設定圖像背景顔色 |
dpi | 設定圖像分辨率 |
edgecolor | 設定圖像邊框顔色 |
在建立了繪圖區域後,再使用函數plt.show()進行展示,如下代碼
plt.figure(figsize=(6,4))
plt.show()
2.plt.subplot()
在全局繪圖區域中建立自繪圖區域,包含如下參數
參數 | 含義 |
---|---|
nrows | subplot行數 |
ncols | subplot列數 |
使用subplot劃分子區域,如下代碼
import matplotlib.pyplot as plt
plt.subplot(333)
plt.show()
上述語句将全局劃分了3X3的區域,橫向為3,縱向為3,并且在第三個位置(右上方)生成了坐标系,如下圖
3.plt.axes()
建立一個坐标系風格的子繪圖區域,預設建立subplot(111)坐标系,參數rect=[left,bottom,width,height]中4個變量的範圍都是[0,1],表示全局坐标與全局繪圖區的關系,axisbg表示背景色,預設為白色“white”,代碼如下
import matplotlib.pyplot as plt
plt.axes([0.1,0.1,0.7,0.3],axisbg='y')
plt.show()
4.plt.subplots_adjust()
用于調整子繪圖區域的布局
4、pyplot相關函數
plt子庫提供了7個用于讀取和顯示的函數,17個用于繪制基礎圖表的函數,3個區域填充函數,9個坐标軸設定函數,11個标簽與文本設定函數,如下表
讀取和顯示函數
函數名稱 | 函數作用 |
---|---|
plt.legend() | 繪圖區放置繪圖示簽 |
plt.show() | 顯示繪制的圖像 |
plt.matshow() | 視窗顯示數組矩陣 |
plt.imshow() | axes上顯示圖像 |
plt.imsave() | 儲存數組為圖像檔案 |
plt.savefig() | 設定圖像儲存格式 |
plt.imread() | 從圖像檔案中讀取數組 |
圖表函數
函數名稱 | 函數作用 |
---|---|
plt.plot | 根據數組繪制直線和曲線 |
plt.boxplot | 繪制箱型圖 |
plt.bar | 繪制條形圖 |
plt.barh | 繪制橫向條形圖 |
plt.polar | 繪制極坐标圖 |
plt.pie | 繪制餅圖 |
plt.psd | 繪制功率譜密度圖 |
區域填充函數
函數名稱 | 函數作用 |
---|---|
fill | 填充多邊形 |
fill_between | 填充曲線圍成的多邊形 |
fill_betweenx | 填充水準線之間的區域 |
坐标軸設定函數
函數名稱 | 函數作用 |
---|---|
plt.axis | 擷取設定軸屬性的快捷方式 |
plt.xlim | 設定x軸取值範圍 |
plt.ylim | 設定y軸取值範圍 |
plt.xscale | 設定x軸縮放 |
plt.yscale | 設定y軸縮放 |
plt.autoscale | 自動縮放軸視圖 |
plt.text | 添加注釋 |
plt.thetagrids | 設定極坐标網格 |
plt.grid | 打開或關閉極坐标 |
标簽與文本設定函數
函數名稱 | 函數作用 |
---|---|
plt.figlegend | 全局繪圖放置圖注 |
plt.xlabel | 設定x軸名字 |
plt.ylabel | 設定y軸名字 |
plt.xticks | 設定x軸刻度位置和數值 |
plt.yticks | 設定y軸刻度位置和數值 |
plt.clabel | 設定等高線 |
plt.get_figlabels | 傳回标簽清單 |
plt.figtext | 添加文本資訊 |
plt.title | 設定标題 |
plt.suptitle | 設定總圖示題 |
plt.annotate | 添加注釋 |
5、numpy和matplotlib繪圖綜合應用
執行如下代碼
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
y=np.sin(x)
z=np.cos(x)
plt.plot(x,y,marker="*",linewidth=3,linestyle="--",color="red")
plt.plot(x,z)
plt.title("matplotlib")
plt.xlabel("x")
plt.ylabel("y")
plt.legend(["Y","Z"],loc="upper right")
plt.grid(True)
plt.show()
運作上述代碼得到如下結果
示例使用numpy庫存儲數組,使用matplotlib繪制輸出到螢幕上,顯示兩條顔色不同的折線y和z,分别代表正弦函數和餘弦函數