如何避免Mayavi的MLAB.AX中的指数刻度?



有参数来控制它吗?我找不到它。
我使用

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'

相关内容

  • 没有找到相关文章

最新更新