Matplotlibで軸の外側に線(矢印)を引く方法|annotate()の使い方を解説
Matplotlibでグラフの軸(プロット領域)の外側に線や矢印を引きたい場合は、annotate()メソッドを活用するのが効果的です。このメソッドは本来テキスト注釈を追加するためのものですが、xyとxytextに同じ座標系上の始点・終点を指定し、arrowpropsで矢印スタイルを設定することで、軸の外側にも自由に線を描画できます。
手順
図のサイズとパディングを設定する: rcParamsでfigureサイズを指定し、サブプロット間および周囲の余白を自動調整します。
図を作成またはアクティブ化する: figure()メソッドを使用して、新しい図を作成するか既存の図をアクティブにします。
現在の図をクリアする: clf()メソッドで現在の図の内容を消去します。
Axesを追加する: add_subplot()メソッドを使い、サブプロット配置の一部として図に~.axes.Axesを追加します。
annotate()で線を配置する: 座標系に「axes fraction」を指定することで、軸の外側の位置に線(矢印)を描画します。
図を表示する: show()メソッドで完成した図を画面に表示します。
サンプルコード
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure(1)
fig.clf()
ax = fig.add_subplot(1, 1, 1)
ax.annotate('', xy=(0, -0.1), xycoords='axes fraction', xytext=(1, -0.1),
arrowprops=dict(arrowstyle="<->", color='b'))
plt.show()
コードのポイント
この例では、xycoords='axes fraction'を指定しているため、座標は軸領域に対する相対値(0〜1)として解釈されます。y座標を-0.1に設定することで、軸の下側(外側)に両方向矢印(<->)が描かれます。値を調整すれば、上下左右どの位置でも自由に線を配置できます。
出力結果

-
Matplotlibで図のX軸にステップ(目盛り)を設定する方法
PythonのMatplotlibで図のX軸にステップ(目盛り)を設定するには、set_xticks() および set_xticklabels() メソッドを使用します。以下の手順で実装できます。 手順 データポイントのリスト x を作成します。 subplot() メソッドを使って、現在の図にサブプロットを追加します。 set_xticks() でX軸の目盛りの位置を指定し、set_xticklabels() でラベルを設定します。このとき、引数に rotation=45 を指定すると、ラベルを45度回転させて表示できます。 図を表示するには、show() メソッドを使用します。 コー
-
【Matplotlib】アノテーション(テキスト)を回転させて線に一致させる方法
Matplotlibでグラフ上のアノテーション(テキスト)を回転させ、直線の傾きに一致させる方法を解説します。ポイントは、直線の傾きから回転角度(theta)を計算し、text()メソッドのrotation引数に渡すことです。 実装の手順 figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。 add_subplot()メソッドを使用して、サブプロットとしてAxesを図に追加します。 直線の傾きmと切片cの変数を初期化します。 NumPyを使用して、xおよびyのデータ点を作成します。 テキストの回転角を求めるためにthetaを計算します。 plot()メソ