Matplotlib 中二維陣列的色圖
Suraj Joshi
2023年1月30日
-
在 Matplotlib 中使用
matplotlib.pyplot.imshow()
方法繪製 2D 陣列 -
在 Matplotlib 中使用
matplotlib.pyplot.pcolormesh()
方法繪製 2D 陣列
本教程介紹瞭如何使用 Python 中的 matplotlib.pyplot.imshow()
和 matplotlib.pyplot.pcolormesh()
方法生成 2D 陣列的 colorplot 圖。
在 Matplotlib 中使用 matplotlib.pyplot.imshow()
方法繪製 2D 陣列
matplotlib.pyplot.imshow()
方法將一個二維陣列作為輸入,並將給定陣列渲染為光柵影象。
matplotlib.pyplot.imshow()
的語法
matplotlib.pyplot.imshow(X,
cmap=None,
norm=None,
aspect=None,
interpolation=None,
alpha=None,
vmin=None,
vmax=None,
origin=None,
extent=None, *,
filternorm=True,
filterrad=4.0,
resample=None,
url=None,
data=None,
**kwargs)
matplotlib.pyplot.imshow()
示例
import numpy as np
import matplotlib.pyplot as plt
X = np.random.randint(256, size=(10, 10))
fig = plt.figure(figsize=(8, 6))
plt.imshow(X)
plt.title("Plot 2D array")
plt.show()
輸出:
它繪製使用 numpy.random.randint()
建立的大小 10*10
的 2D 陣列。預設情況下,數值是使用 viridis
colormap 對映的。
我們可以在 imshow()
方法中設定 cmap
引數來改變 colormap。
import numpy as np
import matplotlib.pyplot as plt
X = np.random.randint(256, size=(10, 10))
fig = plt.figure(figsize=(8, 6))
plt.imshow(X, cmap="inferno")
plt.title("Plot 2D array")
plt.colorbar()
plt.show()
輸出:
它顯示的是帶有 inferno
colormap 的二維陣列圖。我們還可以在圖的右側看到一個顏色條,它告訴我們陣列中的哪些值被對映到哪些顏色上。
在 Matplotlib 中使用 matplotlib.pyplot.pcolormesh()
方法繪製 2D 陣列
matplotlib.pyplot.pcolormesh()
函式在 Matplotlib 中建立一個偽彩色圖。它與 matplotlib.pyplot.pcolor()
函式類似。
import numpy as np
import matplotlib.pyplot as plt
X = np.random.randint(256, size=(10, 10))
fig = plt.figure(figsize=(8, 6))
plt.pcolormesh(X, cmap="plasma")
plt.title("Plot 2D array")
plt.colorbar()
plt.show()
輸出:
它繪製了使用 numpy.random.randint()
建立的大小為 10*10
的二維陣列與 plasma
colormap。右邊的色條代表了分配給不同數值範圍的顏色。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn