我的数据基本上是这样的:(最小工作示例)
import mayavi.mlab as mlab
pts = mlab.points3d([1,2,3,4,5], [1,2,3,4,5], [1,2,3,4,500], [1,2,3,4,100])
mlab.show()
这已经显示了我的问题:由于z
中的巨大异常值,其他几点几乎看不到。在可视化结果中,z
轴比x
/ y
轴大几倍。
现在,让我们忽略我的大小问题(matplotlib让你整齐地将大小定义为s^2
,我没有遇到这个问题),有没有一种方法来获得一个整齐的宽高比,而且基本上只是一条线?
我知道extent
参数强制执行方形图([0,1,0,1,0,1]
)但是这会压缩/扭曲所有绘制的元素并将我的球体变成平坦的染色水坑。
我无法使用mode = 'point'
来防止extent
的失真,因为每个数据点的大小都是相关的。
我来自matplotlib,因为mplot3d
的多个遮挡问题导致无法使用绘图结果。但是,在matplotlib中,不仅是一个整齐的自动调整宽高比默认值,在不扭曲绘制元素的情况下更改宽高比也是微不足道的。如有必要,手动限制轴范围也很简单。
有没有办法在mayavi.mlab
中执行此操作?我真的不想"模拟"这可以通过缩放数据,因为这会导致轴标签等的新问题。