【こつこつPython】Pythonでグラフに矢印注釈を表示する方法|matplotlib.pyplot.annotate

313_anotate480x360
こつこつPython

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()

矢印の幅を細く、色を緑色にできました。

関連メソッド

【こつこつPython】Pythonでグラフにテキストを表示する方法|matplotlib.pyplot.text

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト