はじめに
この実験では、Matplotlib を使って 2 次元プロットと 3 次元プロットの両方を含むグラフを作成する方法を学びます。2 次元プロットでは減衰振動を表示し、3 次元プロットでは正弦波を表示します。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
このステップでは、この実験に必要なライブラリをインポートします。グラフ作成には Matplotlib を、配列作成には NumPy を、3 次元グラフ作成には mpl_toolkits を使用します。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
関数の定義
このステップでは、減衰振動を生成する関数を定義します。
def f(t):
return np.cos(2*np.pi*t) * np.exp(-t)
グラフの作成
このステップでは、2 つのサブプロット付きのグラフを作成します。最初のサブプロットは 2 次元プロットで、2 番目のサブプロットは 3 次元プロットになります。
fig = plt.figure(figsize=plt.figaspect(2.))
fig.suptitle('A Tale of 2 Subplots')
2 次元プロットの作成
このステップでは、減衰振動の 2 次元プロットを作成します。
ax1 = fig.add_subplot(2, 1, 1)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
t3 = np.arange(0.0, 2.0, 0.01)
ax1.plot(t1, f(t1), 'bo',
t2, f(t2), 'k--', markerfacecolor='green')
ax1.grid(True)
ax1.set_ylabel('Damped oscillation')
3 次元プロットの作成
このステップでは、正弦波の 3 次元プロットを作成します。
ax2 = fig.add_subplot(2, 1, 2, projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax2.plot_surface(X, Y, Z, rstride=1, cstride=1,
linewidth=0, antialiased=False)
ax2.set_zlim(-1, 1)
プロットの表示
このステップでは、グラフを表示します。
plt.show()
まとめ
この実験では、Matplotlib を使って 2 次元と 3 次元の両方のプロット付きのグラフを作成しました。2 次元プロットは減衰振動を表示し、3 次元プロットは正弦波を表示しました。配列の作成には NumPy を、3 次元プロットには mpl_toolkits を使用しました。