隅歩つ

書いて理解を深める

matplotlib の patches を使って図形を作る

PythonJavaScriptCanvas のようなことができないかな、と思って調べてみたら patches というのがありました。

よく使うであろう、円(Circle)と四角(Rectangle)の作り方を確認しました。

patchesの使い方

まず図形を作るためには「patches」を使います。

patches を使う手順

  1. patches を import する
  2. patches.Circle()を定義する
  3. add_patch(patch)に入れる

patches をインポートする

from matplotlib import patches

patches.Circle()で定義する

patch = patches.Circle(xy=(0, 0), radius=5)

add_patch(patch)に入れる

ax.add_patch(patch)

matplotlib のサイトの patches ページ ↓

matplotlib.org

Circle

まずは、Circle です。

Circle を使うことで円が作れます。

matplotlib の patches を使って図形を作る

コードはこちら ↓

from matplotlib import patches
from matplotlib import pyplot as plt

patch = patches.Circle(xy=(0, 0), radius=5)

fig = plt.figure(figsize=(7, 7), facecolor="lightblue")
ax = fig.add_subplot(1, 1, 1, aspect="equal")

ax.add_patch(patch)
ax.autoscale()
ax.grid(color="0.8")

plt.show()

Rectangle

次は、四角です。

Rectangle を使うことで四角が作れます。

matplotlib の patches を使って図形を作る

コードはこちら ↓

from matplotlib import patches
from matplotlib import pyplot as plt

patch = patches.Rectangle(xy=(0, 0), width=2, height=3, angle=20)

fig = plt.figure(figsize=(7, 7), facecolor="lightblue")
ax = fig.add_subplot(1, 1, 1)

ax.add_patch(patch)
ax.autoscale()
ax.grid(color="0.8")

plt.show()

作り方に慣れたら、使いこなせそうです。

※ ちなみに、ax.autoscale()の使い方はよくわかっていません。

yuuuha.hatenablog.com