PythonとMatplotlibで3D散布図上の2点を線で接続する方法
Matplotlibを使った3D散布図では、データポイント同士を直線で結ぶことで、点と点の関係性や移動の軌跡などを視覚的に分かりやすく表現できます。この記事では、3D散布図上の2点を接続する具体的な手順を解説します。
3D散布図で2点を接続する手順
3D散布図上の2点を接続するには、以下の手順に従います。
- 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドにprojection="3d"を指定して、現在の図に3D用のAxes(軸)を追加します。- x、y、zそれぞれの座標データのリストを作成します。
scatter()メソッドを使って、x、y、zのデータポイントをプロットします。- 点同士を接続するには、
plot()メソッドに同じx、y、zのデータを渡し、黒色の線で描画します。 show()メソッドを使用して、図を表示します。
コード例
from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(projection="3d") x, y, z = [1, 1.5], [1, 2.4], [3.4, 1.4] ax.scatter(x, y, z, c='red', s=100) ax.plot(x, y, z, color='black') plt.show()
コードの解説
plt.rcParams["figure.figsize"]で図のサイズを幅7.50インチ・高さ3.50インチに設定し、plt.rcParams["figure.autolayout"]をTrueにすることで、ラベルなどが図の外にはみ出さないよう余白が自動調整されます。
fig.add_subplot(projection="3d")により3Dプロット用のAxesを作成しています。ここが2Dプロットとの大きな違いです。
データポイントは赤色(c='red')・サイズ100(s=100)でscatter()により描画され、その後plot()メソッドに同じ座標を渡すことで、2点間が黒色の直線で結ばれます。plot()は引数に色(color='black')を指定できるため、線のスタイルも自由にカスタマイズ可能です。
出力結果

実行すると、赤色の2つの点が黒色の直線で接続された3D散布図が表示されます。この手法は、時系列データの変化を可視化したり、特定のデータポイント間の関係を強調したりする際に役立ちます。
-
Python Matplotlibで3Dグラフをプロットする方法を解説
PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使
-
Python(Matplotlib)で散布図を作成し、データ点ごとに色を設定する方法
Pythonの可視化ライブラリ「Matplotlib」では、scatter()メソッドを使うことで簡単に散布図を作成できます。さらに、c引数に値のリストを渡すことで、データ点ごとに異なる色(カラーマッピング)を割り当てることも可能です。 手順 np.random.rand()メソッドを使用して、指定した形状のランダムな値(x座標・y座標)を生成します。 scatter()メソッドを使い、x軸とy軸の値から散布図を作成します。このとき、c引数に0〜999までの連続した数値を指定することで、各データ点に異なる色が自動的に割り当てられます。色はデフォルトのカラーマップ(viridis)に基づいてグ