はじめに
この実験では、Python の Matplotlib ライブラリを使用して、タイトル、サブタイトル、およびグローバル ラベル付きのグラフを作成するプロセスを案内します。さまざまな種類の振動プロットを作成する方法と、グラフにグローバルな x 軸または y 軸のラベルを追加する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
減衰振動と非減衰振動のプロットを作成する
まず、減衰振動用と非減衰振動用の 2 つのサブプロット付きのグラフを作成します。時間値の配列を作成するために np.linspace() 関数を使用し、その後、np.cos() 関数と np.exp() 関数を使用して、各種類の振動に対応する振幅値をプロットします。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.0, 5.0, 501)
fig, (ax1, ax2) = plt.subplots(1, 2, layout='constrained', sharey=True)
ax1.plot(x, np.cos(6*x) * np.exp(-x))
ax1.set_title('damped')
ax1.set_xlabel('time (s)')
ax1.set_ylabel('amplitude')
ax2.plot(x, np.cos(6*x))
ax2.set_xlabel('time (s)')
ax2.set_title('undamped')
fig.suptitle('Different types of oscillations', fontsize=16)
plt.show()
グラフにグローバルな x 軸と y 軸のラベルを追加する
次に、異なる会社の相対株価を時間とともに示すグラフにグローバルな x 軸と y 軸のラベルを追加します。株価データを含む CSV ファイルを読み込むために np.genfromtxt() 関数を使用し、その後、サブプロットを使用して各会社のデータをプロットします。グラフにグローバルな x 軸と y 軸のラベルを追加するために、fig.supxlabel() メソッドと fig.supylabel() メソッドを使用します。
from matplotlib.cbook import get_sample_data
with get_sample_data('Stocks.csv') as file:
stocks = np.genfromtxt(
file, delimiter=',', names=True, dtype=None,
converters={0: lambda x: np.datetime64(x, 'D')}, skip_header=1)
fig, axs = plt.subplots(4, 2, figsize=(9, 5), layout='constrained',
sharex=True, sharey=True)
for nn, ax in enumerate(axs.flat):
column_name = stocks.dtype.names[1+nn]
y = stocks[column_name]
line, = ax.plot(stocks['Date'], y / np.nanmax(y), lw=2.5)
ax.set_title(column_name, fontsize='small', loc='left')
fig.supxlabel('Year')
fig.supylabel('Stock price relative to max')
plt.show()
まとめ
この実験では、Python の Matplotlib ライブラリを使用して、タイトルとサブタイトル付きのグラフを作成する方法を学びました。また、グラフにグローバルな x 軸と y 軸のラベルを追加する方法も学びました。これらのスキルは、データの明確で情報に富んだビジュアライゼーションを作成する際に役立ちます。