保持x-和y-的纵横比,同时缩放z轴

时间:2017-11-07 16:50:12

标签: matlab plot surface

假设我们想在矩形域上绘制函数f:ℝ² → ℝ,假设为[0,1] x [0,3],其中f的值在[-0.01,0.01]范围内。如果我们只使用任何绘图函数,如meshsurf,则所有三个轴都会严重失真:所有三个轴都会缩放,以便所有内容都适合多维数据集。例如

[x,y]=meshgrid(0:0.1:1,0:0.1:3);surf(x,y,sin(x).*cos(5./y)*0.01)

生成

example

是否有办法设置x轴和y轴的实际比率(使得域实际上看起来更像是1x3矩形而不是正方形),同时保留z轴的自动缩放?

(例如axis equal 几乎我需要的东西,但z轴也会缩放,我不想要。)

1 个答案:

答案 0 :(得分:-2)

这不是超级优雅,但我会这样做:

zLimits = get(gca,'ZLim');
axis equal;
set(gca, 'ZLim', zLimits);