【问题标题】:preserve aspect ratio of x- and y- while scaling z-axis [duplicate]在缩放z轴时保持x和y的纵横比[重复]
【发布时间】:2017-11-07 16:50:12
【问题描述】:

假设我们想在一个矩形域上绘制函数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)

产生

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

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

【问题讨论】:

    标签: matlab plot surface


    【解决方案1】:

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

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

    【讨论】:

    • 不幸的是,这不起作用,因为轴在axis equal; 之后一起缩放。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2017-07-18
    相关资源
    最近更新 更多