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是轴的一个实例。

您的新代码与以下最小代码段相当。请注意,这不会在轴的实例上运行,ax.

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