0

それを制御するパラメータはありますか?私はそれを見つけることができません.
私が使う

import numpy as np
from enthought.mayavi import mlab
from scipy.interpolate import griddata
from enthought.mayavi.modules.axes import Axes

x,y,z =np.loadtxt('mydata',delimiter=',',usecols=(0,1,2),unpack=True)
xi = np.linspace(min(x), max(x),200)
yi = np.linspace(min(y), max(y),200).reshape(200,1) 
zi = griddata((x, y), z, (xi, yi),method='nearest')  
mlab.surf(xi,yi,zi,warp_scale="auto")
mlab.axes.label_format='%.2f'
mlab.axes(xlabel='x', ylabel='y', zlabel='z',ranges=(1000,1100,1200),nb_labels=5)
mlab.show()

目盛りは、出力図の 1.08e+03 と 1.18e+03 のようなものです。追加します mlab.axes.label_format='%.2f'が、何も変わりません。

4

1 に答える 1

3

mlab を使用して構築時に指定する方法があるかどうかはわかりませんが、tvtk オブジェクトを掘り下げて (編集: 実際には mayavi レイヤーでまだトレイトされています)、変更することができます:

>>> ax=mlab.axes()
>>> ax.axes.label_format
'%-#6.3g'
>>> ax.axes.label_format='%.2f'

.axes.label_format変更する必要があるのは、作成する軸インスタンス の形式であることに注意してください。ax軸のインスタンスです。

新しいコードは、次の最小限のスニペットに匹敵します。これが axis のインスタンスでは機能しないことに注意してくださいax

>>> ax=mlab.axes()
>>> mlab.axes.label_format='%.2f'
于 2013-10-09T20:18:59.650 に答える