長方形と正方形
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)
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)
上のサンプルコードでは、横幅と高さを 0.6、塗り潰しの色を darkblue に指定しています。
コメント