繁体   English   中英

mayavi python曲面图错误的宽高比

[英]mayavi python surface plot wrong aspect ratio

我正在尝试学习mayavi来绘制一些3D数据。 我的xy网格通常看起来像这样

import numpy 
from mayavi import mlab
x,y = numpy.mgrid[0:90:3j, 0:360:3j]
z= #some calculation
mlab.surf(x, y, z)
mlab.show()

情节看起来像

在此处输入图片说明

而使用gnuplot的情节看起来像这样

在此处输入图片说明

因此,mayavi图像没有适当的宽高比。 如何使用mayavi正确绘制数据?

您可以使用这样的extent参数来解决该问题

import numpy 
from mayavi import mlab
x,y = numpy.mgrid[0:90:3j, 0:360:3j]
z= #some calculation
mlab.surf(x, y, z, extent=(0,1,0,1,0,1))
mlab.show()

由gnuplot生成的水平面产生一个范围为0-90的轴,该轴看起来至少与范围为0-400的垂直轴的长度相同。 考虑到这一事实,我倾向于说gnuplot实际上是长宽比不正确的那个,考虑到您的目的是ax.set_aspect('equal', adjustable='box')类似于matplotlib调用ax.set_aspect('equal', adjustable='box') 此外, surf具有warp_scale关键字,该关键字允许产生垂直夸张。 文档在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM