『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

【Matplotlib】長方形と正方形の描画

長方形と正方形

matplotlib.patches.Rectangleクラスから、長方形オブジェクトを作ることができます。

長方形の描画

同じ形と大きさの長方形を 2 つ、回転角だけ変えて重ねて表示させてみます。

# MATPLOTLIB_PATCHES_RECTANGLE

# In[1]

import matplotlib.pyplot as plt
import matplotlib.patches as pat

# Figureを作成
fig = plt.figure(figsize=(5, 5))

# FigureにAxes(サブプロット)を追加
ax = fig.add_subplot(111)

# patches.Rectangleクラスのインスタンスを作成

# 左下の座標(0.3, 0.3), 横幅0.5, 高さ0.25
# 回転角0°, 塗り潰し色blue, 透明度0.5
rec1 = pat.Rectangle(xy=(0.3, 0.3), width=0.5, height=0.25,
                   angle=0, color="blue", alpha=0.5)

# 左下の座標(0.3, 0.3), 横幅0.5, 高さ0.25
# 回転角45°, 塗り潰し色red, 透明度0.5
rec2 = pat.Rectangle(xy=(0.3, 0.3), width=0.5, height=0.25,
                   angle=45, color="red", alpha=0.5)

# Axesに長方形を追加
ax.add_patch(rec1)
ax.add_patch(rec2)

Python Matplotlib.patches.Rectangle 長方形の描画
patches.Rectangle の引数 xy には、長方形の左下隅の座標を設定します。x 座標と y 座標はそれぞれ Axes の横幅、縦幅を 1 とする相対的な数値で指定します。angle には水平軸から反時計回りに測った回転角を渡します。alpha は塗り潰しの透明度を決める引数です。

正方形の描画

matplotlib.patches.Rectangle クラスで width と height に同じ値を渡せば、正方形を作ることができます。

# MATPLOTLIB_PATCHES_SQUARE

# In[1]

import matplotlib.pyplot as plt
import matplotlib.patches as pat

# Figureを作成
fig = plt.figure(figsize=(5, 5))

# FigureにAxes(サブプロット)を追加
ax = fig.add_subplot(111)

# patches.Rectangleクラスのインスタンスを作成
# 左下の座標(0.2, 0.2), 横幅0.6, 高さ0.6
# 回転角0°, 塗り潰し色darkblue
rec = pat.Rectangle(xy=(0.2, 0.2), width=0.6, height=0.6,
                   angle=0, color="darkblue")

# Axesに正方形を追加
ax.add_patch(rec)

Python Matplotlib.patches.Rectangle 正方形の描画
上のサンプルコードでは、横幅と高さを 0.6、塗り潰しの色を darkblue に指定しています。

コメント