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

Mplot3dで軸をスケーリングする方法

PythonのMatplotlibで3Dグラフを描画する際、mplot3dを使えば各軸の表示範囲(スケール)を自由に設定できます。ここでは、X・Y・Z軸それぞれの範囲を指定する基本的な手順を解説します。

軸をスケーリングする手順

  • figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。
  • Axes3D()クラスを使って、3D axesインスタンスを生成します。
  • X軸の範囲を設定するには、set_xlim3d()メソッドを使用します。
  • Y軸の範囲を設定するには、set_ylim3d()メソッドを使用します。
  • Z軸の範囲を設定するには、set_zlim3d()メソッドを使用します。
  • グラフを表示するには、show()メソッドを使用します。

サンプルコード

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = Axes3D(fig)
ax.set_xlim3d(-100, 100)
ax.set_ylim3d(-100, 100)
ax.set_zlim3d(-100, 100)
plt.show()

実行結果

上記のコードを実行すると、X・Y・Zすべての軸が-100から100の範囲にスケーリングされた3D座標空間が表示されます。このように、set_xlim3d()set_ylim3d()set_zlim3d()の3つのメソッドに最小値と最大値を渡すだけで、簡単に各軸の表示範囲を制御できます。

なお、より新しいバージョンのMatplotlibでは、fig.add_subplot(projection='3d')を使って3D axesを作成する方法が推奨されています。

  1. Matplotlib PyplotでフィギュアのAxes(軸)リストを取得する方法

    MatplotlibのPyplotを使ってフィギュアに含まれるAxes(軸)のリストを取得するには、まずフィギュアを作成し、その後get_axes()メソッドを呼び出すことで、フィギュア内のすべてのAxesオブジェクトを取得できます。取得したAxesに対して、ラベルの設定などの操作を行うことが可能です。手順NumPyを使ってデータ点 xs と ys を作成し、figure()メソッドで新しいフィギュア(または既存のフィギュア)を生成します。add_subplot()メソッドを使用して、サブプロット配置の一部としてフィギュアにAxesオブジェクトを追加します。ここでは nrows=1、ncols

  2. PythonのpylabでFigureをリモート環境に保存する方法

    概要matplotlibのpyplotパッケージが提供するsavefig()メソッドを使えば、保存先のパスを指定するだけで、Figure(グラフ)をリモート環境に保存できます。GUIを持たないサーバーやクラウド環境でグラフを生成・保存したい場合に特に便利な手法です。手順別のバックエンドを使用するには、matplotlib.use(Agg)でバックエンドを明示的に設定します。plot()メソッドを使って線をプロットします。savefig()メソッドを使い、保存先のディレクトリ(パス)を指定するだけで、画像をリモート環境に保存できます。図を画面に表示したい場合は、plt.show()を使用します。