はじめに
この実験では、Python Matplotlib を使ってマスク付き配列での単位変換を行う方法について、手順を追ったチュートリアルを行います。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
このステップでは、単位変換とグラフ作成を行うために必要なライブラリをインポートします。
import matplotlib.pyplot as plt
import numpy as np
from basic_units import hertz, minutes, secs
マスク付き配列の作成
このステップでは、マスク付き配列を作成し、マスクをデータに適用します。
## create masked array
data = (1, 2, 3, 4, 5, 6, 7, 8)
mask = (1, 0, 1, 0, 0, 0, 1, 0)
xsecs = secs * np.ma.MaskedArray(data, mask, float)
グラフの作成
このステップでは、異なる単位のマスク付き配列を使って 3 つのグラフを作成します。
## create subplots
fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, sharex=True)
## plot 1
ax1.scatter(xsecs, xsecs)
ax1.yaxis.set_units(secs)
## plot 2
ax2.scatter(xsecs, xsecs, yunits=hertz)
## plot 3
ax3.scatter(xsecs, xsecs, yunits=minutes)
## set labels
ax1.set_ylabel('Seconds')
ax2.set_ylabel('Hertz')
ax3.set_ylabel('Minutes')
ax3.set_xlabel('Time')
グラフの表示
このステップでは、前のステップで作成したグラフを表示します。
## display plot
plt.show()
まとめ
この実験では、Python の Matplotlib を使ってマスク付き配列で単位変換を行う方法を学びました。マスク付き配列を作成し、データにマスクを適用しました。また、異なる単位のマスク付き配列を使って 3 つのグラフを作成し、表示しました。