MatplotlibでRectangle(長方形)にテキストを追加する方法
Matplotlibで長方形(Rectangle)の中にテキストを追加したい場合、annotate()メソッドを使い、長方形の中心点にラベルを配置するのが簡単な方法です。この記事では、その具体的な手順をサンプルコードとともに解説します。
実装の手順
- figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。
- 現在の軸に対してサブプロットを追加します。
- プロットに長方形を描画するために、Rectangle()クラスを使って長方形オブジェクトを作成します。
- 作成した長方形パッチをプロットに追加します。
- 長方形内にテキストラベルを配置するため、長方形の中心座標(cx・cy)を計算して取得します。
- annotate()メソッドを使って、長方形の中央にテキストを配置します。
- x軸とy軸の表示範囲を設定し、長方形が画面内に収まるようにします。
- show()メソッドを呼び出して、図を表示します。
サンプルコード
from matplotlib import pyplot as plt, patches
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111)
rectangle = patches.Rectangle((0, 0), 3, 3, edgecolor='orange',
facecolor="green", linewidth=7)
ax.add_patch(rectangle)
rx, ry = rectangle.get_xy()
cx = rx + rectangle.get_width()/2.0
cy = ry + rectangle.get_height()/2.0
ax.annotate("Rectangle", (cx, cy), color='black', weight='bold', fontsize=10, ha='center', va='center')
plt.xlim([-5, 5])
plt.ylim([-5, 5])
plt.show()実行結果
このコードを実行すると、緑色の塗りつぶしとオレンジ色の枠線を持つ長方形が描画され、その中央に太字の「Rectangle」というテキストラベルが表示されます。

ポイント解説
ここでの重要なポイントは、get_xy()で長方形の左下の座標を取得し、そこに幅と高さの半分を加算することで中心座標(cx・cy)を求めている点です。annotate()の引数ha='center'とva='center'を指定することで、テキストが正確に長方形の中央に配置されます。複数の長方形にラベルを付けたい場合も、同様の処理を各長方形に対して繰り返すだけで対応できます。
-
【Python】matplotlibでフォントサイズを変更する方法をわかりやすく解説
Pythonの可視化ライブラリ「matplotlib」では、plt.text()メソッドを使うことで、グラフ内に表示するテキストのフォントサイズを簡単に変更できます。この記事では、具体的な手順とサンプルコードを交えて解説します。 フォントサイズを変更する手順 グラフを作成する:plt.plot()メソッドの引数に2つのリストを渡すことで、折れ線グラフを作成できます。 テキストを追加する:plt.text()メソッドを使い、データ座標上の位置 (x, y) にテキストを配置します。fontsize引数の値を変更することで、フォントサイズを自由にカスタマイズできます。 グラフを表示する:plt.
-
TkinterのEntryウィジェットにプレースホルダーを追加する方法
Tkinterは、ボタン、テキスト、エントリ(Entry)、ダイアログなどのウィジェットを提供しており、これらを組み合わせることでGUIアプリケーションを効率的に開発できます。しかし、TkinterのEntryウィジェットには、標準ではプレースホルダーの機能が用意されていません。 プレースホルダーとは、入力欄にあらかじめ表示される仮のテキストのことで、「ここに何を入力すればよいか」をユーザーに伝える重要な役割を果たします。 本記事では、insert(挿入位置, テキスト) 関数を使って、Entryウィジェットにプレースホルダーを追加する方法を解説します。この関数は、第1引数に挿入位置(先頭なら