有参数来控制它吗?我找不到它。
我使用
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'
,但没有任何变化。
我不知道
是否有办法使用 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'