理解 meshgrid() 和 contourf() 方法
資料分析和理解在很大程度上依賴於資料視覺化。對於流行的程式語言 Python,有幾個庫可以幫助進行資料視覺化。資料科學家經常使用 meshgrid() 和 contourf() 生成 2D 和 3D 圖形,因為它們是促進複雜資料集顯示的極佳工具。對於構建各種視覺化(如熱圖和等值線圖)的點網格,Meshgrid() 是一種非常有用的方法。在這篇博文中,我們將討論兩種重要的方法:meshgrid() 和 contourf()。這些方法對於三維資料的二維視覺化至關重要。
什麼是 Meshgrid()?
Meshgrid() 是一個函式,用於生成座標網格,以便在 2D 或 3D 顯示上繪製函式。meshgrid() 函式需要兩個 1D 陣列,並返回網格中每個點的 X 和 Y 座標,這兩個座標儲存在兩個 2D 陣列中。在建立需要生成點網格的視覺化(如熱圖和等值線圖)時,此方法非常有用。資料科學家可以使用強大的 meshgrid() 函式來顯示大型複雜資料集,以查詢可能無法從原始資料或表格中直接發現的模式和趨勢。
meshgrid() 函式的語法如下:
X, Y = np.meshgrid(x, y)
我們可以建立兩個 2D 陣列來表示網格上每個點的 X 和 Y 座標。為此,我們可以連線 1D 陣列 X 和 Y。
現在,如果我們想在三維空間中檢視此網格,我們還需要為每個網格點生成 Z 座標。為此,我們可以使用一個函式,該函式將為每個點分配與 X、Y 和 Z 值相對應的座標。使用這些 3D 座標,我們可以建立令人驚歎的視覺化效果,真正使我們的資料栩栩如生。
示例
在以下示例中,我們首先使用 linspace() 方法建立兩個名為 x 和 y 的 1D 陣列。在擁有這些陣列後,我們將使用它們使用 meshgrid 方法 () 建立座標網格。
接下來,我們將建立一個名為 Z 的陣列,其中儲存每個網格點的 Z 座標。最後,我們可以使用 plot_surface() 方法以三維方式視覺化此資料。這是一種瞭解資料當前狀態和網格範圍分佈的絕佳方法。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) Z = np.sqrt(X**2 + Y**2) fig = plt.figure() ax = fig.add_subplot(projection='3d') ax.plot_surface(X, Y, Z) plt.show()
輸出

什麼是 Contourf()?
Contourf() 是一種在資料視覺化中建立填充等值線圖的常用方法。它是 matplotlib 包的一部分,使我們能夠生成 3D 資料的流暢 2D 表示。此方法顯示一系列與特定資料值對應的等值線,這對於發現數據中的模式和趨勢非常有用。由於等值線之間的填充區域使用不同的顏色著色,因此我們可以立即輕鬆地識別具有相似值的區域。因此,contourf() 是瀏覽和理解複雜資料集的有用工具。它也非常靈活,允許使用者更改諸如等值線數量和用於表示資料的顏色方案等元素。
contourf() 函式的語法如下:
plt.contourf(X, Y, Z)
其中 X 和 Y 是資料的 X 和 Y 座標,Z 是其 Z 值。contourf() 函式將資料繪製為填充等值線。
示例
在這個示例中,我們首先使用 linspace() 方法建立 x 和 y 陣列。接下來,根據這些陣列,meshgrid() 方法建立一個座標網格。在獲得網格後,我們為每個點生成 Z 座標,然後將它們儲存在一個名為 Z 的陣列中。
最後,contourf() 函式以 2D 方式顯示資料。此方法透過用一系列等值線連線具有相同資料值的點並用不同的顏色填充線之間的空間,從而更容易檢視資料中的模式。它可以成為探索和分析複雜資料集的強大工具,並且是獲得我們資料整體形狀和結構感覺的特別有效的方法。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) plt.contourf(X, Y, Z) plt.show()
輸出

結論
總之,每個資料分析師或科學家都應該掌握 meshgrid() 和 contourf() 演算法。這些例程為複雜資料的二維和三維視覺化提供了一種簡單而有效的方法。雖然 contourf() 生成一個完整的等值線圖,表示 3D 資料的 2D 投影,但 meshgrid() 允許開發座標網格以在 2D 或 3D 圖上視覺化函式。使用這些方法,資料分析師和科學家可以快速生成其資料的引人注目的表示,從而更容易理解和分析。最終,meshgrid() 和 contourf() 是資料分析師工具包中的關鍵工具,應充分利用它們來從複雜資料中提取見解。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP