はじめに
この実験では、Python の Matplotlib を使って楕円を描画する方法を紹介します。この実験では以下の 2 つの例を扱います。
- 個別の楕円を描画する
- 異なる角度の楕円を描画する
ellipse-demo.ipynbを WebIDE で開いて演習を始めることができます。VS Code での Jupyter Notebook の使い方を学んでください。

Labby はノートブックにアクセスできないため、解答を自動で検証することはできません。
This tutorial is from open-source community. Access the source code
この実験では、Python の Matplotlib を使って楕円を描画する方法を紹介します。この実験では以下の 2 つの例を扱います。
ellipse-demo.ipynbを WebIDE で開いて演習を始めることができます。VS Code での Jupyter Notebook の使い方を学んでください。
Labby はノートブックにアクセスできないため、解答を自動で検証することはできません。
まず、必要なライブラリをインポートする必要があります。ランダムなデータを生成するために numpy を使用し、楕円を描画するために matplotlib.pyplot と matplotlib.patches を使用します。
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse
この例では、ランダムなサイズ、位置、色の多数の楕円を描画します。各楕円は Ellipse クラスのインスタンスになります。
## 再現性のために乱数のシードを固定する
np.random.seed(19680801)
## 描画する楕円の数
NUM = 250
## 楕円を生成する
ells = [Ellipse(xy=np.random.rand(2) * 10,
width=np.random.rand(), height=np.random.rand(),
angle=np.random.rand() * 360)
for i in range(NUM)]
## プロットを作成し、アスペクト比を 'equal' に設定する
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
## 各楕円をプロットに追加する
for e in ells:
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(np.random.rand())
e.set_facecolor(np.random.rand(3))
## プロットの x 軸と y 軸の範囲を設定する
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
## プロットを表示する
plt.show()
この例では、異なる角度の多数の楕円を描画します。描画したい各角度に対して Ellipse インスタンスを作成するためにループを使用します。
## 角度のステップと描画する角度の範囲を定義する
angle_step = 45 ## 度
angles = np.arange(0, 180, angle_step)
## プロットを作成し、アスペクト比を 'equal' に設定する
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
## 角度をループし、各角度に対して楕円を描画する
for angle in angles:
ellipse = Ellipse((0, 0), 4, 2, angle=angle, alpha=0.1)
ax.add_artist(ellipse)
## プロットの x 軸と y 軸の範囲を設定する
ax.set_xlim(-2.2, 2.2)
ax.set_ylim(-2.2, 2.2)
## プロットを表示する
plt.show()
この実験では、Python の Matplotlib を使って楕円を描画する方法を学びました。個別の楕円を描画することと、異なる角度の楕円を描画することの 2 つの例を扱いました。この実験の手順に従えば、Matplotlib を使って独自の Python プロジェクトで楕円を描画できるようになるはずです。