今回はmatplotlibの中でもマニアックな解説動画です。円や長方形をmatplotlibで描画するというものです。もちろんタイトルにある通り、楕円も作成できます。
matplotlib.patchesの中に円や楕円、長方形など様々な図形を描画するクラスが用意されています。これを使って描画していこうと思います。詳細は以下のドキュメントを参照にしてください。本記事も以下のドキュメント通りに進めていきます。
参考 matplotlib.patchesMatplotlib円を描画するサンプルコード
今回はオレンジ色に枠線を赤色で描画してみました。
Python
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as patches
ax = plt.axes()
fig = plt.figure()
c = patches.Circle(xy=(0, 0), radius=0.5, fc='orange', ec='red')
ax.add_patch(c)
plt.axis('scaled')
ax.set_aspect('equal')
楕円を描画するサンプルコード
続いては楕円ですが、基本的に円の時と変わりません。Ellipseを指定します。
Python
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig = plt.figure()
ax = plt.axes()
e = patches.Ellipse(xy=(-0.25, 0), width=0.5, height=0.25, fc='lightgreen', ec='white')
ax.add_patch(e)
plt.axis('scaled')
ax.set_aspect('equal')
長方形を描画するサンプルコード
長方形はRectangleで作成することができます。枠線だけ黒色で指定して長方形を作成してみました。
Python
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig = plt.figure()
ax = plt.axes()
r = patches.Rectangle(xy=(0, 0), width=0.25, height=0.5, ec='black', fill=False)
ax.add_patch(r)
plt.axis('scaled')
ax.set_aspect('equal')
まとめ
公式サイトには他にもいくつも描画できる図形が載っているので、もっとより詳しく知りたい!という方はぜひ公式のmatplotlibのドキュメントを見てみてください!
円、楕円、長方形に関してはぜひやってみてください!