假设我们想在矩形域上绘制函数f:ℝ² → ℝ
,假设为[0,1] x [0,3]
,其中f
的值在[-0.01,0.01]
范围内。如果我们只使用任何绘图函数,如mesh
或surf
,则所有三个轴都会严重失真:所有三个轴都会缩放,以便所有内容都适合多维数据集。例如
[x,y]=meshgrid(0:0.1:1,0:0.1:3);surf(x,y,sin(x).*cos(5./y)*0.01)
生成
是否有办法设置x轴和y轴的实际比率(使得域实际上看起来更像是1x3矩形而不是正方形),同时保留z轴的自动缩放?
(例如axis equal
几乎我需要的东西,但z轴也会缩放,我不想要。)
答案 0 :(得分:-2)
这不是超级优雅,但我会这样做:
zLimits = get(gca,'ZLim');
axis equal;
set(gca, 'ZLim', zLimits);