Matplotlib 標記散點
Suraj Joshi
2023年1月30日
為了給 Matplotlib 中的散點圖示記散點,我們可以使用 matplotlib.pyplot.annotate()
函式,在指定的位置新增一個字串。同樣,我們也可以使用 matplotlib.pyplot.text()
函式為散點圖點新增文字標籤。
使用 matplotlib.pyplot.annotate()
函式為散點圖點新增標籤
matplotlib.pyplot.annotate(text, xy, *args, **kwargs)
它用 text
引數的值對點 xy
進行註釋。xy
代表要註釋的點的座標 (x, y)
。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(20)
X = np.random.randint(10, size=(5))
Y = np.random.randint(10, size=(5))
annotations = ["Point-1", "Point-2", "Point-3", "Point-4", "Point-5"]
plt.figure(figsize=(8, 6))
plt.scatter(X, Y, s=100, color="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with annotations", fontsize=15)
for i, label in enumerate(annotations):
plt.annotate(label, (X[i], Y[i]))
plt.show()
輸出:
它建立了兩個隨機陣列,X
和 Y
,分別代表點的 X 座標和 Y 座標。我們有一個名為 annotations
的列表,長度與 X
和 Y
相同,其中包含每個點的標籤。最後,我們通過迴圈迭代,使用 annotate()
方法為散點圖中的每個點新增標籤。
使用 matplotlib.pyplot.text()
函式為散點圖點新增標籤
matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)
這裡,x
和 y
代表我們需要放置文字的座標,s
是需要新增的文字內容。
該函式在 x
和 y
指定的點上新增文字 s
,其中 x
代表該點的 X 座標,y
代表 Y 座標。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(20)
X = np.random.randint(10, size=(5))
Y = np.random.randint(10, size=(5))
annotations = ["Point-1", "Point-2", "Point-3", "Point-4", "Point-5"]
plt.figure(figsize=(8, 6))
plt.scatter(X, Y, s=100, color="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with annotations", fontsize=15)
for i, label in enumerate(annotations):
plt.text(X[i], Y[i], label)
plt.show()
輸出:
它通過迴圈執行,使用 matplotlib.pyplot.text()
方法為散點圖中的每個點新增標籤。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn