Matplotlibはグラフを描画するためのライブラリです。シミュレーション結果を可視化して確認するために使います。
import numpy as np
import matplotlib.pyplot as plt最も基本的なグラフです。
# データの準備
t = np.linspace(0, 10, 100) # 時刻 0〜10秒
y = 100 - 0.5 * 9.8 * t**2 # 自由落下の高度
# グラフの描画
plt.figure(figsize=(8, 5))
plt.plot(t, y)
plt.xlabel("時刻 [s]")
plt.ylabel("高度 [m]")
plt.title("自由落下")
plt.grid(True)
plt.show()t = np.linspace(0, 2*np.pi, 100)
plt.figure(figsize=(8, 5))
plt.plot(t, np.sin(t), label="sin(t)")
plt.plot(t, np.cos(t), label="cos(t)")
plt.xlabel("t [rad]")
plt.ylabel("値")
plt.title("三角関数")
plt.legend() # 凡例を表示
plt.grid(True)
plt.show()t = np.linspace(0, 5, 50)
plt.figure(figsize=(8, 5))
plt.plot(t, t, 'r-', label="実線(赤)") # 赤い実線
plt.plot(t, t**1.5, 'b--', label="破線(青)") # 青い破線
plt.plot(t, t**2, 'g:', label="点線(緑)") # 緑の点線
plt.plot(t, t**2.5, 'ko', label="点(黒)", markersize=3) # 黒い点
plt.legend()
plt.grid(True)
plt.show()主なスタイル指定:
- 色:
r(赤),g(緑),b(青),k(黒),m(マゼンタ),c(シアン) - 線種:
-(実線),--(破線),:(点線),-.(一点鎖線) - マーカー:
o(丸),s(四角),^(三角),+(プラス)
t = np.linspace(0, 10, 100)
h = 100 - 0.5 * 9.8 * t**2 # 高度
v = -9.8 * t # 速度
fig, axes = plt.subplots(2, 1, figsize=(8, 8))
# 上のグラフ(高度)
axes[0].plot(t, h)
axes[0].set_xlabel("時刻 [s]")
axes[0].set_ylabel("高度 [m]")
axes[0].set_title("高度の時間変化")
axes[0].grid(True)
# 下のグラフ(速度)
axes[1].plot(t, v, 'r')
axes[1].set_xlabel("時刻 [s]")
axes[1].set_ylabel("速度 [m/s]")
axes[1].set_title("速度の時間変化")
axes[1].grid(True)
plt.tight_layout() # レイアウト調整
plt.show()plt.figure(figsize=(8, 5))
plt.plot(t, y)
plt.xlabel("時刻 [s]")
plt.ylabel("高度 [m]")
plt.title("自由落下")
plt.grid(True)
# ファイルに保存
plt.savefig("results/freefall.png", dpi=150)
plt.show()plt.xlim(0, 10) # x軸の範囲
plt.ylim(-100, 100) # y軸の範囲scripts/01_python/02_matplotlib_example.py を実行してください:
python scripts/01_python/02_matplotlib_example.py