matplotlib 是Python最著名的2D繪圖庫,它提供了一整套和matlab類似的命令API,十分適合交互式地進行製圖。並且也能夠方便地將它做爲繪圖控件,嵌入GUI應用程序中。經過簡單的繪圖語句,就能夠繪製出高質量的圖了。python
這裏咱們就主要講一下inshow()函數的使用吧。windows
1、引入matplotlib函數庫數組
若是你使用的是windows平臺,你們能夠直接下載對應版本的matplotlib庫的exe文件安裝便可。函數
使用下面的命令引入matplotlib的pyplot模塊:spa
import matplotlib.pyplot as plt.net
爲方便起見,這樣咱們就能夠用plt來代替matplotlib.pyplot使用了。orm
2、Figure和Subplot對象
matplotlib的圖像都位於Figure對象中,實際上就是建立了一個空的圖像窗口。能夠用plt.figure建立一個新的Figure。索引
fig = plt.figure()get
不能經過空Figure繪圖,必須用add_subplot()建立一個或多個子sunplot繪圖區才能繪圖。
ax = fig.add_subplot(221)
意思是:繪製2×2兩行兩列共4個subplot圖像,當前選中第一個。編號從1開始。
獲得以下的圖像:
3、繪製z = sqrt(x^2+y^2) 的二維函數輸出圖像
(1)準備數據
咱們採用二維數組產生兩個二維矩陣,對應於全部的(x,y)對。
要使用數組,咱們使用NumPy 模塊。
import numpy as np
points = np.arange(-5,5,0.01) #產生1000個-5到5等間隔的點
xs,ys = np.meshgrid(points,points) #np.meshgrid()接受兩個一維數組產生兩個二維矩陣((x,y)對)。
z = np.sqrt(xs**2+ys**2) #計算z = sqrt(x^2+y^2)的值
(2)繪圖
ax = fig.add_subplot(221) #第一個子圖
ax.imshow(z) #默認配置
ax = fig.add_subplot(222) #第一個子圖
ax.imshow(z,cmap = plt.cm.gray) #第二個子圖,使用自定義的colormap(灰度圖)
ax = fig.add_subplot(223) #第一個子圖
ax.imshow(z,cmap=plt.cm.cool) #第二個子圖,使用自定義的colormap
ax = fig.add_subplot(224) #第一個子圖
ax.imshow(z,cmap=plt.cm.hot) #第二個子圖,使用自定義的colormap
plt.show() #顯示圖像
因而,漂亮的圖像就出來了。
但是,細心的你發現,圖的座標怎麼是0-1000呢?是這樣的,咱們給imshow傳入z矩陣是1000×1000的,z的索引其實就是圖像的座標,而其值纔是經過圖的顏色表現出來的。