Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで3D連続線をプロットする方法

Matplotlibを使って3次元空間に連続的な線(3Dライン)を描画する方法を解説します。基本的な手順は以下の通りです。

3Dプロットの手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • NumPyを使用して xy のデータポイントを作成します。
  • xとyのデータポイントから z のデータポイントを計算して作成します。
  • figure() メソッドを使って、新しい図を作成するか既存の図をアクティブにします。
  • add_subplot() メソッドに3D投影(projection='3d')を指定して、Axesを追加します。
  • plot() メソッドを使って、x、y、zのデータポイントをプロットします。
  • show() メソッドを呼び出して、図を表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt

# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# x と y のデータポイントを作成
x = np.linspace(-4 * np.pi, 4 * np.pi, 50)
y = np.linspace(-4 * np.pi, 4 * np.pi, 50)

# x と y から z のデータポイントを計算
z = x ** 2 + y ** 2

# 新しい図を作成し、3D投影のAxesを追加
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 3D連続線をプロット
ax.plot(x, y, z)

plt.show()

実行結果

このコードを実行すると、x-y平面上の放物線状の軌跡に沿って、z = x² + y² の値が変化する3次元の連続曲線が表示されます。螺旋や波状の曲線など、他の数式を使えばさまざまな3Dラインを簡単に描画できます。

Matplotlibで3D連続線をプロットする方法

補足:より見やすい3Dプロットにするには

デフォルトの状態でも十分表示できますが、以下のような工夫で可読性を高められます。

  • ax.set_xlabel() / set_ylabel() / set_zlabel():各軸にラベルを追加し、どの軸が何を表すか明確にします。
  • ax.plot(x, y, z, color='red', linewidth=2):線の色や太さを指定して視認性を向上させます。
  • ax.view_init(elev=30, azim=45):視点の角度を調整し、曲線の形状が分かりやすい角度から表示します。
  1. Python Matplotlibで3Dグラフをプロットする方法を解説

    PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使

  2. Matplotlibで折れ線グラフをアニメーション化する方法を徹底解説

    Matplotlibでは、FuncAnimationを活用することで、折れ線グラフに動きのあるアニメーション効果を簡単に加えることができます。本記事では、基本的な手順と実際に動作するサンプルコードを交えながら、その方法をわかりやすく解説します。折れ線グラフをアニメーション化する基本手順subplots()メソッドを使用して、図(figure)とサブプロットを作成します。x軸・y軸それぞれの表示範囲(スケール)を設定します。NumPyを使って、xおよびtのデータ点を生成します。座標ベクトルからmeshgrid()で座標行列X2とT2を作成します。plot()メソッドでxとFのデータを使い、折れ線