Matplotlibで複数のポイントにテキスト注釈を付ける方法
Matplotlibで複数のポイントに対して注釈テキストを追加するには、以下の手順に従います。
- 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
- numpyを使ってxとyのデータポイントを作成します。
- 各散布点にラベルを付けるため、ラベルのリストを作成します。
- scatter()メソッドを使ってxpointsとypointsをプロットします。色にはxpointsを指定します。
- zipでまとめたラベル、xpoints、ypointsをループで反復処理します。
- forループ内でannotate()メソッドを使い、太字のLaTeX形式で注釈を表示します。
- 図を表示するにはshow()メソッドを使用します。
コード例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
xpoints = np.linspace(1, 10, 10)
ypoints = np.random.rand(10)
labels = ["%.2f" % i for i in xpoints]
plt.scatter(xpoints, ypoints, c=xpoints)
for label, x, y in zip(labels, xpoints, ypoints):
plt.annotate(
f"$\\bf{label}$",
xy=(x, y), xytext=(-20, 20),
textcoords='offset points', ha='center', va='bottom',
arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))
plt.show()出力結果
上記のコードを実行すると、各散布点に矢印付きの太字ラベルが注釈として表示されたグラフが出力されます。注釈はポイントからオフセットした位置(左に20pt、上に20pt)に配置され、矢印によって対応するポイントと結ばれます。


-
Matplotlibで漸近線・不連続点を含むグラフを正しく描画する方法
はじめにMatplotlibで y = 1/x のような関数をそのままプロットすると、x = 0 付近で値が発散し、グラフ上に不自然な縦線が表示されてしまうことがあります。これは数値計算では厳密な「無限大」を扱えず、0に極めて近い大きな値として計算されるためです。本記事では、numpyとMatplotlibを組み合わせて、漸近線(不連続点)を持つ関数を見やすく描画する手順を解説します。処理の手順numpyを使ってx・yのデータポイントを作成します。plt.axis(off) で軸の表示をオフにします。plot() メソッドでx・yのデータをもとに曲線を描画します。axhline() で水平方向
-
【Python】matplotlibでフォントサイズを変更する方法をわかりやすく解説
Pythonの可視化ライブラリ「matplotlib」では、plt.text()メソッドを使うことで、グラフ内に表示するテキストのフォントサイズを簡単に変更できます。この記事では、具体的な手順とサンプルコードを交えて解説します。 フォントサイズを変更する手順 グラフを作成する:plt.plot()メソッドの引数に2つのリストを渡すことで、折れ線グラフを作成できます。 テキストを追加する:plt.text()メソッドを使い、データ座標上の位置 (x, y) にテキストを配置します。fontsize引数の値を変更することで、フォントサイズを自由にカスタマイズできます。 グラフを表示する:plt.