利用matplotlib中imshow()函數繪圖

 

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的索引其實就是圖像的座標,而其值纔是經過圖的顏色表現出來的。

相關文章
相關標籤/搜索