[matplotlibの使い方] 11. テキストと矢印

matplotlib
スポンサーリンク

matplotlibでグラフ上にテキスト、矢印を表示する方法

グラフ上にテキスト、矢印を表示するために用いるtext(), annotate()について

matplotlibでは、グラフ上にテキストと矢印を表示することができる。ここでは、その設定方法について説明する。

モジュールのインポート

グラフの上にテキストを配置

テキストを配置するには、ax.text()を用いる。テキストを表示する位置は、transformでその基準を定めることができる。
transform=ax.transDataの場合、図のx軸、y軸の目盛に従ってテキストを配置する位置が決まる。
transform=fig.transFigureの場合、figオブジェクト全体の左下を(0,0)、右上を(1,1)とする相対的な位置で配置される。
transform=ax.transAxesの場合は、グラフの左下を(0,0)右上を(1,1)とする相対的な位置でテキストが配置される。

ylimで表示範囲をかえてもtransform=fig.transFigure、ax.transAxesの場合は位置が変化しない。

annotateによる注釈(矢印)

ax.annotate(‘local maximum’, xy=(np.pi/2, 1), xytext=(3, 3), arrowprops=dict(facecolor=’black’, shrink=0.05))のようにすることで矢印付きのテキストを表示できる。
最初の”にテキストを入力し、次のxyに矢印の先端の座標、xytextにテキストの座標、arrowpropsに矢印のプロパティを入力している。

arrowpropsについて

shrink

shrinkで矢印を縮ませることができる。

headlength

headlengthで矢印の先端の長さが変化する。

headwidth

headwidthで矢印の先端の幅が変化する。

width

widthで矢印の棒の太さを変えることができる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント