在 Python 中繪製陣列
視覺化資料可以提高對資料的一般理解並有助於記憶,因為人類往往比文字更容易記住視覺效果。資料的視覺化至關重要,因為我們有很多可用的資料,我們需要一種結構良好的格式來理解它。這項活動是每個資料科學家和機器學習愛好者日常生活的一部分。他們必須將資料視覺化以更好地理解它並構建良好且高效的機器學習模型。
通常,資料以陣列的形式表示,我們最終會遇到必須繪製它的情況。本文討論如何使用 Python 繪製此類資料。
在我們繼續程式碼之前,我們必須瞭解一件事。陣列可以是 n 維
,這意味著我們可以在陣列中包含陣列(二維陣列),或者在陣列中包含陣列,在其中進一步包含陣列(3D 陣列)等等。隨著維數的增加,繪製陣列的複雜性也會增加。在這種情況下,必須將陣列轉換為適合繪製或繪製其他型別圖形的另一種格式,從而使視覺化效果更好。本文將討論繪製一維和二維陣列。
我們將使用 Matplotlib
,一個用於視覺化目的的基於 Python 的綜合庫,以及 NumPy
來繪製陣列。
你可以在這裡(Matplotlib
)和這裡(NumPy
)閱讀更多關於它們的資訊。
在 Python 中繪製一維陣列
要繪製一維陣列,請參閱以下程式碼。
import numpy as np
import matplotlib.pyplot as plt
x = np.array(range(0, 10))
y = np.array([100, 23, 44, 12, 55, 85, 69, 33, 75, 2])
plt.title("Plotting 1-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.plot(x, y, color="red", marker="o", label="Array elements")
plt.legend()
plt.show()
變數 y
儲存必須繪製的資料,變數 x
儲存索引。此處,出於繪圖目的,也考慮了基於 0 的索引。請注意,還可以通過新增此 x = np.array(range(1, 11))
將索引更改回基於 1 的索引。plot
函式首先獲取 x 軸
的資料,然後獲取 y 軸
的資料。color
引數設定線圖的顏色,marker
引數設定用於標記線圖上的點的符號,而 label
引數設定要為此特定線顯示的標籤。請注意,如果沒有 plt.legend()
,圖表上將不會顯示有關標籤的資訊。
上面程式碼的輸出將如下所示。
在 Python 中繪製二維陣列
要繪製二維陣列,請參閱以下程式碼。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
figure(figsize=(8, 6))
x = np.array(range(0, 10))
y = np.array(
[
[32, 69, 92, 81, 27, 97, 64, 98, 26, 22],
[85, 76, 63, 44, 94, 52, 71, 66, 2, 62],
[45, 80, 46, 24, 10, 74, 10, 33, 12, 60],
[73, 94, 21, 6, 93, 74, 36, 47, 16, 99],
[96, 84, 66, 12, 43, 58, 17, 16, 28, 6],
[83, 4, 56, 94, 97, 36, 94, 41, 74, 14],
[90, 13, 11, 71, 79, 49, 9, 69, 73, 61],
[94, 52, 28, 18, 14, 15, 91, 95, 16, 42],
[73, 35, 40, 25, 46, 25, 33, 1, 99, 30],
[61, 7, 89, 33, 94, 64, 1, 60, 41, 81],
]
)
plt.title("Plotting a2-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
for i, array in enumerate(y):
plt.plot(
x,
array,
color=np.random.rand(
3,
),
marker="o",
label=f"Array #{i}",
)
plt.legend(loc="center left", bbox_to_anchor=(1, 0.5))
plt.show()
變數 y
儲存 2-D
陣列。我們迭代 2-D
陣列的每個陣列,用一些隨機顏色和唯一標籤繪製它。繪圖完成後,我們重新定點陣圖例框並顯示繪圖。
上面程式碼的輸出將如下所示。