Matplotlibで目盛り(ティック)を動かさずにラベルだけを移動する方法
Matplotlibでは、軸の目盛り(ティック)自体の位置は変えずに、そのラベルだけを別の場所に表示したいケースがあります。このような場合は、axvline()メソッドで垂直線を引いておき、annotate()メソッドで注釈(ラベル)を任意の座標に配置するのが効果的です。
実装の手順
- 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
- 変数deltaを初期化します。
- numpyを使用してxとyのデータポイントを作成します。
- axvline()メソッドでdeltaの位置に垂直線を描画します。
- annotate()メソッドでその線に注釈を付けます。
- plot()メソッドでxとyのデータポイントをプロットします。
- show()メソッドで図を表示します。
コード例
from matplotlib import pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True delta = 2.0 x = np.linspace(-10, 10, 100) y = np.sinc(x - delta) plt.axvline(delta, ls="--", color="r") plt.annotate(r"$\delta$", xy=(delta + 0.2, -0.2), color="r", size=15) plt.plot(x, y) plt.show()
出力結果

このコードを実行すると、赤色の破線がδ=2.0の位置に垂直に描かれ、その線上ではなく少しオフセットした位置(xy=(delta + 0.2, -0.2))に「δ」という注釈が表示されます。このようにannotate()のxy引数で座標を指定することで、目盛りやデータラインの位置を一切変更せずに、ラベルだけを自由に移動・配置できます。
-
Matplotlibで目盛りラベルをすべて表示する方法
Matplotlibでグラフ上のすべてのラベル値を表示したい場合は、set_xticklabels() メソッドと set_yticklabels() メソッドを使用します。この記事では、具体的な手順とコード例を使って、その方法をわかりやすく解説します。実装の手順軸の目盛りとして使用できる数値のリスト(x)を作成します。subplot() 関数を使用して軸オブジェクトを取得します。subplot() は現在の図にサブプロットを追加するための便利な関数です。set_xticks メソッドと set_yticks メソッドを使い、手順1で作成したリスト x を指定して、それぞれX軸とY軸の目盛り位
-
Python Matplotlibで単一のポイント(点)をプロットする方法
Matplotlibを使えば、たった1つのデータポイントでも簡単にグラフ上へプロットできます。ここでは、単一の点をプロットするための基本的な手順を解説します。 単一ポイントをプロットする手順 x と y のリストを、単一の値で初期化します。 plt.xlim() および plt.ylim() を使って、X軸・Y軸の表示範囲を0〜5に設定します。 plt.grid() を呼び出して、現在の線スタイルでグリッドを描画します。 plot() メソッドでxとyをプロットし、marker=o、markeredgecolor=red、markerfacecolor=green を指定してマーカーの見た目