概要
matplotlib.patches
パッケージに様々な図形クラスが準備されていて、Axes
のadd_patch()
メソッドでそれらのオブジェクトを加えていく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import matplotlib.pyplot as plt import matplotlib.patches as patch fig, ax = plt.subplots() circ = patch.Circle(xy=(3, 3), radius=2, ec='b', fc='gray') elli = patch.Ellipse(xy=(2, 1), width=2, height=1, ec='g', fill=False, angle=10) rect = patch.Rectangle(xy=(1, 2), width=3, height=2, ec='b', fc='w', angle=30) ax.add_patch(circ) ax.add_patch(elli) ax.add_patch(rect) ax.set_xlim(0, 6) ax.set_ylim(0, 6) ax.set_aspect('equal') plt.show() |
各種図形
以下の点は各図形において共通
- ほとんどの図形は引数
xy
で基準点のx座標とy座標をタプルで与える edgecolor/ec
で外枠の色、facecolor/fc
で塗りつぶし色を指定するfill=True/False
で塗りつぶしの有無を指定する- angleで傾きの角度を指定できる図形がある
Circle(xy[, radius=5])
- 中心点を指定して円を描く。
Ellipse(xy, width, height[, angle])
- 中心点と幅・高さを指定して楕円を描く。
Rectangle(xy, width, height[, angle])
- 左下の点と幅・高さを指定して楕円を描く。
CirclePolygon(x, y, rasius=5, resolution=20)
- 多角形を描画。辺/頂点の数を
resolution
で指定する。 Polygon(xy, closed=True)
- 複数の点を指定して図形を描画する。xyはNx2配列(xy座標を要素とした2次元配列)。closedをFalseに指定すると図形の最初の点と最後の点を結ばない。
Arc(xy, width, height[, angle, theta1, theta2])
- 楕円の一部の弧を描く。扇形に中を塗りつぶすことはできない。
Wedge(center, r, theta1, theta2[, width=None])
- 円の一部を切出した図形を描く。widhを指定すると中心からその長さだけ除かれて描かれる。
Arrow(x, y, dx, dy[, width, ...])
- 矢印を描画する。
FancyArrow(x, y, dx, dy[, width, ...])
- 鏃を片側だけにしたり、鏃の大きさや形を設定したりできる。