はじめに
この実験では、Matplotlib の hlines と vlines 関数の使い方を学びます。これらの関数は、グラフ全体に水平線と垂直線を描画するために使用されます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
最初のステップは、必要なライブラリをインポートすることです。この実験では、Matplotlib と NumPy のライブラリを使用します。Matplotlib はデータ可視化ライブラリであり、NumPy は Python を使った科学計算に使用されます。
import matplotlib.pyplot as plt
import numpy as np
データの定義
次のステップは、グラフで使用するデータを定義することです。0 から 5 までの値の配列を 0.1 のステップで作成するために、NumPy の arange 関数を使用します。この配列を x 軸として使用します。また、NumPy の指数関数と正弦関数を使用して y 軸も定義します。
## Define the data
t = np.arange(0.0, 5.0, 0.1)
s = np.exp(-t) + np.sin(2 * np.pi * t) + 1
データにノイズを追加する
このステップでは、データにいくらかのノイズを追加して、より現実的にするためにします。平均が 0.0 で標準偏差が 0.3 の乱数を生成するために、NumPy の normal 関数を使用します。
## Add noise to the data
nse = np.random.normal(0.0, 0.3, t.shape) * s
グラフを作成する
ここでは、Matplotlib の subplots 関数を使ってグラフを作成します。垂直線用のサブプロットと水平線用のサブプロットをそれぞれ 1 つずつ作成します。視認性を向上させるために、グラフのサイズを (12, 6) に設定します。
## Create the plot
fig, (vax, hax) = plt.subplots(1, 2, figsize=(12, 6))
垂直線を追加する
このステップでは、グラフに垂直線を追加します。Matplotlib の vlines 関数を使って垂直線を描画します。また、transform パラメータを使って y 座標を 0 から 1 までにスケーリングするように設定します。x = 1 と x = 2 のところに 2 本の垂直線を描画します。
## Add vertical lines
vax.plot(t, s + nse, '^')
vax.vlines(t, [0], s)
vax.vlines([1, 2], 0, 1, transform=vax.get_xaxis_transform(), colors='r')
vax.set_xlabel('time (s)')
vax.set_title('Vertical lines demo')
水平線を追加する
このステップでは、グラフに水平線を追加します。Matplotlib の hlines 関数を使って水平線を描画します。y = 0.5、y = 2.5、および y = 4.5 のところに水平線を描画します。
## Add horizontal lines
hax.plot(s + nse, t, '^')
hax.hlines(t, [0], s, lw=2)
hax.set_xlabel('time (s)')
hax.set_title('Horizontal lines demo')
グラフを表示する
最後に、Matplotlib の show 関数を使ってグラフを表示します。
## Display the plot
plt.show()
まとめ
この実験では、Matplotlib の hlines 関数と vlines 関数を使ってグラフ全体に水平線と垂直線を描画する方法を学びました。また、データにノイズを追加する方法と、グラフ内にサブプロットを作成する方法も学びました。