長方形と正方形の描画
matplotlib.patches.Rectangle クラスから、長方形オブジェクトを作ることができます。
長方形の描画
同じ形と大きさの長方形を 2 つ、回転角だけ変えて重ねて表示させてみます。
# MATPLOTLIB_PATCHES_RECTANGLE
# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt
# matplotlib.patchesをインポート
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)
patches.Rectangle の引数 xy には、長方形の左下隅の座標を設定します。x 座標と y 座標はそれぞれ Axes の横幅、縦幅を 1 とする相対的な数値で指定します。angle には水平軸から反時計回りに測った回転角を渡します。alpha は塗り潰しの透明度を決める引数です。
正方形の描画
matplotlib.patches.Rectangle クラスで width と height に同じ値を渡せば、正方形を作ることができます。
# MATPLOTLIB_PATCHES_SQUARE
# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt
# matplotlib.patchesをインポート
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)
上のサンプルコードでは、横幅と高さを 0.6、塗り潰しの色を darkblue に指定しています。
コメントを書く