Matplotlib ラベル散布点
Suraj Joshi
2023年1月30日
Matplotlib で散布図の点にラベルを付けるには、matplotlib.pyplot.annotate()
関数を使用することができます。同様に、散布図点にテキストラベルを追加するには、matplotlib.pyplot.text()
関数を使用することもできます。
matplotlib.pyplot.annotate()
関数を用いた散布図点へのラベルの追加
matplotlib.pyplot.annotate(text, xy, *args, **kwargs)
これは点 xy
に text
パラメータの値をアノテーションします。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 座標を表す 2つのランダム配列 X
と Y
をそれぞれ作成します。X
と Y
と同じ長さの annotations
というリストがあり、それぞれの点のラベルが格納されています。最後に、ループを繰り返して 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