MatplotlibのAxes3Dでズームする方法を解説!3Dプロットの拡大表示テクニック
MatplotlibのAxes3Dでズームする方法
MatplotlibのAxes3Dを使って3Dプロットを作成する際、ズーム機能を活用するとデータの細部をより詳しく確認できます。この記事では、3D散布図を作成してズーム可能な状態で表示するための基本的な手順を、コード例とともにわかりやすく解説します。
実装手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。
- Axes3D(fig)メソッドを使用して、3D軸オブジェクトを取得します。
- scatter()メソッドを使用して、x・y・zの各データ点をプロットします。
- show()メソッドを使用して、図を画面に表示します。
コード例
from mpl_toolkits.mplot3d import Axes3D from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = Axes3D(fig) x = [2, 4, 6, 3, 1] y = [1, 6, 8, 1, 3] z = [3, 4, 10, 3, 1] ax.scatter3D(x, y, z, c=z, alpha=1, marker='d', s=150) plt.show()
出力結果

ズーム操作のポイント
上記のコードを実行して表示されるウィンドウでは、マウスホイールやツールバーのズームボタンを使って、プロットの拡大・縮小を自由に行えます。ドラッグ操作で視点を回転させながら確認できるのも、3Dプロットならではの利点です。
また、プログラム側で表示範囲を制御したい場合は、軸の範囲を明示的に指定する方法も有効です。
ax.set_xlim(0, 8) ax.set_ylim(0, 10) ax.set_zlim(0, 12)
このように各軸の最小値・最大値を狭く設定することで、特定の領域にズームインしたような表示を実現できます。データの分布が偏っている場合や、注目したいクラスタがある場合に特に便利です。
-
Matplotlibで任意のデータを使って4Dプロットを作成する方法
Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x
-
PythonのMatplotlibで中空(白抜き)の四角形マーカーを描画する方法
Matplotlibで中空(塗りつぶしなし)の四角形マーカーを描くには、マーカーの種類に ks を指定し、markerfacecolor=none、markersize=15、markeredgecolor=red を設定します。これにより、枠線だけの白抜きスタイルの四角形マーカーが描画されます。 各パラメータの意味 ks:k は黒色(black)、s は四角形(square)を表すマーカースタイルです。 markerfacecolor=none:マーカーの内部を塗りつぶさず、中空にします。 markersize(ms):マーカーのサイズを指定します(ここでは15)。 markeredgec