Pythonでグラフに注釈を表示する方法です。
使用するのはPythonのmatplotlibライブラリのannotate関数です。
import matplotlib.pyplot as plt
このようなデータを使用します。
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 2, 3, 4, 5]
まず、figure関数、plot関数、grid関数を使用してグラフを作成します。
grid関数を使用すると、グラフの縦と横に目盛り線をひけます。
実行します。
plt.figure(figsize=(8, 4))
plt.plot(x, y)
plt.grid()
plt.show()
グラフを表示できました。
次に、annotate関数を使用して、"point"という注釈を表示させてみましょう。
引数に注釈の文字を指定します。
また、引数xyに注釈を示したい場所のx座標とy座標をタプルで指定します。
更に、text関数と同様に大きさ、色なども引数に指定できます。
実行します。
plt.figure(figsize=(8, 4))
plt.plot(x, y)
plt.grid()
plt.annotate("point", xy=(3,3), fontsize=20, color="red")
plt.show()
注釈を表示できました。
ただし、このままでは文字列の表示と同じです。
引数arrowpropsに辞書を指定し、引数xytextに注釈の文字を表示したい座標を指定すると、離れた場所から矢印で注釈を表示できます。
引数arrowpropsには空の辞書を指定し、注釈の位置に異なる場所を指定してみましょう。
実行します。
plt.figure(figsize=(8, 4))
plt.plot(x, y)
plt.grid()
plt.annotate("point", xy=(3,3), fontsize=20, color="red",
arrowprops=dict(), xytext=(4,2))
plt.show()
x座標が4、y座標が2の位置から、x座標が3、y座標が3の位置に向かって矢印で注釈を付けることができました。
また、矢印の大きさや色などは引数arrowpropsの辞書の中で指定できます。
引数widthに矢印の幅、引数colorに矢印の色を指定します。
実行します。
plt.figure(figsize=(8, 4))
plt.plot(x, y)
plt.grid()
plt.annotate("point", xy=(3,3), fontsize=20, color="red",
arrowprops=dict(width=1, color="green"), xytext=(4,2))
plt.show()
矢印の幅を細く、色を緑色にできました。