天天看點

matplotlib可視化實戰之二:matplotlib初識matplotlib

matplotlib

1、測試

在python環境中,輸入如下代碼,如果不報錯則表示安裝成功

import matplotlib
import matplotlib.pyplot as plt
           
matplotlib可視化實戰之二:matplotlib初識matplotlib

2、運作

在python中輸入如下代碼,測試生成的matplotlib圖形

import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.ylabel('some numbers')
plt.show()
           

運作上述語句得到如下結果

matplotlib可視化實戰之二:matplotlib初識matplotlib

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,并且在第三個位置(右上方)生成了坐标系,如下圖

matplotlib可視化實戰之二:matplotlib初識matplotlib

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()
           

運作上述代碼得到如下結果

matplotlib可視化實戰之二:matplotlib初識matplotlib

示例使用numpy庫存儲數組,使用matplotlib繪制輸出到螢幕上,顯示兩條顔色不同的折線y和z,分别代表正弦函數和餘弦函數