Matplotlib の楕円コレクション

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Matplotlib は、Python における強力なデータ可視化ライブラリです。この実験では、楕円のコレクションを描画するためのEllipseCollectionの使用方法を探ります。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。

必要なライブラリをインポートする

必要なライブラリをインポートして始めましょう。

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.collections import EllipseCollection

楕円用のデータを作成する

x 座標、y 座標、幅、高さ、角度の配列の形式で、楕円用のデータを作成します。

x = np.arange(10)
y = np.arange(15)
X, Y = np.meshgrid(x, y)

XY = np.column_stack((X.ravel(), Y.ravel()))

ww = X / 10.0
hh = Y / 15.0
aa = X * 9

楕円コレクションを作成する

上記のデータを使ってEllipseCollectionを作成し、単位を'x'と指定し、オフセットをXYとします。

fig, ax = plt.subplots()

ec = EllipseCollection(ww, hh, aa, units='x', offsets=XY,
                       offset_transform=ax.transData)

楕円の色を設定する

EllipseCollection内の各楕円の色を、その x 座標と y 座標の合計に基づいて設定します。

ec.set_array((X + Y).ravel())

プロットにコレクションを追加する

EllipseCollectionをプロットに追加します。

ax.add_collection(ec)
ax.autoscale_view()
ax.set_xlabel('X')
ax.set_ylabel('y')
cbar = plt.colorbar(ec)
cbar.set_label('X+Y')
plt.show()

まとめ

この実験では、Matplotlib で楕円のコレクションを描画するためにEllipseCollectionをどのように使用するかを学びました。また、各楕円の色をその x 座標と y 座標に基づいて設定する方法も学びました。