mlab.axes的轴控制

时间:2013-11-25 15:08:56

标签: python plot mayavi mayavi.mlab

这只是一个小问题。我使用下面的句子来控制三个轴范围。

mlab.axes(xlabel='x', ylabel='y', zlabel='z',ranges=(0,10000,0,10000,0,22),nb_labels=10)

实际上,实际数据范围分别为(3000,4000),(5000,6000),(0,22)。 但是,图I绘制的轴被缩放为(0,10000,0,10000,0,22)。

我没有找到mlab的参数.axes可以控制它。

我每次都必须计算数据范围吗?在不知道实际数据范围的情况下,有没有办法让轴范围服从实际数据?

1 个答案:

答案 0 :(得分:0)

我的经验是Mayavi表面会自动转换单元格坐标,使得(0,0)成为中心。

显然,它还将最长的轴定义为y,将最短的轴定义为x(不确定吗?)

如果要从像元大小(dX,dY,dZ)的坐标(XYZ)中添加任何内容到Mayavi的表面坐标(x,y,z)(假设网格(nx,ny,nz)),那么坐标变换将是 任意一个:x =(X-minX)/ dX-nx / 2
或:x =(maxX-X)/ dX + nx / 2 (您需要尝试错误才能在此处找到正确的版本。

如果有人知道更强大的解决方案,那么我有兴趣学习。