2017-04-22 6 views
1

、それは私が使用3D図形または2D図形であるかどうかをチェックする:Pythonのチェック図は2Dまたは3Dである場合には、図とMATLABで

V=axis; 

および2D図形のV(4の構成要素の数を確認します、6は3次元)。 これをPythonとmatplotlibでどのように実装できますか?

+2

の可能性のある重複になるだろう[オブジェクトmatplotlibの軸の投影(2Dまたは3D)を決定するためにどのように?](http://stackoverflow.com/questions/39333446/how-投影を決定する2次元または3d-of-a-matplotlib-axes-object) – RaminNietzsche

答えて

1

軸のnameを使用できます。

plt.gca().name or ax.name

axが軸の場合。

3D軸の名前は"3d"になります。 2D軸の名前は、プロットの種類に応じて"rectilinear","polar"などの名前になります。あなたはそのため

if ax.name == "3d": 
    # axes is 3D, do something 
else: 
    # axes is not 3D, do something else 


を確認することができます

またthe question this is a duplicate ofへの答えで提案されているように、制限のために確認することができます。この方法では限界

def get_limits(ax): 
    xlim = ax.get_xlim() 
    ylim = ax.get_ylim() 
    if hasattr(ax, 'get_zlim'): 
     zlim = ax.get_zlim() 
     return xlim, ylim, zlim 
    else: 
     return xlim, ylim 
+0

しかし、3次元図の軸値はどのようにして得られますか?ありがとうございます – Linux

+0

Matlab:V = axis、#各(x、y、z)に対して2つの6つの値を取得します。 – Linux

+0

x_min、x軸のx_max、y軸のy_min y_max、z軸のz_min、z_max。問題は、入力中にFigureオブジェクトがあり、それが3dか2Dかどうかを判断する必要があるということです。それぞれの軸値(最小値と最大値)をx、y、zに設定する必要があります – Linux

関連する問題