Matplotlib學習筆記 密度線與等高線

2021-08-24 18:03:40 字數 1990 閱讀 7263

在二維圖上用等高線或者彩色圖來表示三維資料是個不錯的方法。matplotlib提供了三個函式來解決這個問題:用plt.contour()繪製等高線、用plt.contourf繪製帶有填充顏色的等高線圖、用plt.imshow顯示圖形。

plt.contour()函式
#生成第三維資料的自定義函式

deff

(x,y):

return np.sin(x) ** 10 + np.cos(10 + y*x) * np.cos(x)

%matplotlib inline

import matplotlib.pyplot as plt

plt.style.use('seaborn-white')

import numpy as np

x = np.linspace(0, 5, 50)

y = np.linspace(0, 5, 50)

x,y = np.meshgrid(x, y)

z = f(x,y)

#繪製標準的等高線

plt.contour(x, y, z, colors='r')

當圖形只使用一種顏色時,預設使用虛線表示負數,使用實線表示正數。另外,可以使用cmap引數設定乙個線條配色方案來自定義顏色。還可以讓更多的線條顯示不同的顏色——可以將資料範圍等分為20份,然後永不同的顏色來表示。

#使用紅-灰配色方案

plt.contourf()函式

plt.contourf()函式可以為等高線之間的間隙填充顏色。另外還可以通過plt.colorbar()命令自動建立乙個表示各種顏色對應標籤資訊的顏色條

plt.imshow()函式

plt.show()能夠將二維陣列渲染成漸變圖。

#plt.show()不支援用x軸和y軸資料來設定網格,,而是必須通過extent引數設定圖形的座標範圍[xmin, xmax, ymin, ymax]

將等高線與彩色圖組合起來

我們可以用一副背景色半透明的彩色圖(可以通過alpha引數設定透明度),與另外一幅座標軸相同、帶資料標籤的等高線圖疊放在一起(plt.clabel()函式實現

Matplotlib學習筆記

在最開始接觸python科學計算的時候,就知道了matplotlib這個繪相簿。個人是比較喜歡這種視覺化的工具,照我看,gui這種理念幾乎是劃時代的。如果說numpy是用來處理資料,那麼matplotlib就是用來展示資料的,抽象的資料,以圖表的形式展示出來,無論是對自己,還是對看到的人,接受起來都...

Matplotlib學習筆記(三)

import matplotlib.pyplot as plt import numpy as np x np.linspace 3,3,50 y 2 x 1 plt.figure num 1,figsize 8,5 plt.plot x,y ax plt.gca ax.spines right s...

Matplotlib學習筆記(四)

import matplotlib.pyplot as plt import numpy as np n 1024 x np.random.normal 0,1,n y np.random.normal 0,1,n t np.arctan2 y,x for color value plt.scatt...