我有基本上看起来像这样的数据:(最小工作示例)
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
大几倍。现在,让我们忽略我在大小方面有同样的问题(matplotlib 让你以点为单位巧妙地定义大小,我没有这个问题),有没有办法获得一个没有整齐纵横比的绘图基本上只是一条线?x
y
s^2
我知道extent
强制执行方形图 ( [0,1,0,1,0,1]
) 的参数,但这会挤压/扭曲所有绘制的元素,并将我的球体变成扁平的染料水坑。我不能用它mode = 'point'
来防止失真,extent
因为每个数据点的大小都是相关的。
我来自 matplotlib,因为多个遮挡问题mplot3d
导致无法使用绘图结果。然而,在 matplotlib 中,不仅是一个整齐的自动缩放纵横比默认值,而且在不扭曲绘制元素的情况下改变纵横比也是微不足道的。如有必要,手动限制轴范围也很简单。
有什么办法可以做到这一点mayavi.mlab
吗?我真的不想通过缩放数据来“模拟”这一点,因为这会导致轴标签等出现新问题。