我知道之前有人问过这个问题 - 但他们都没有处理带有 2 Y 轴的 3D 图。我的问题是继续 -如何在 MATLAB 中添加 2D Plot 以及曲面或网格图?或者这个。
我现在已经成功地添加了一个二维图和一个曲面图。见下图 - 现在我的问题是 2D 绘图的范围太高以至于 3D 绘图被缩小到看起来只不过是天花板上的飞机。它应该有像我上面提到的问题中的数字一样的变化。
如何为 2D 绘图提供不同的 Y 轴,以便 3D 绘图不会像这里那样缩小。
我知道之前有人问过这个问题 - 但他们都没有处理带有 2 Y 轴的 3D 图。我的问题是继续 -如何在 MATLAB 中添加 2D Plot 以及曲面或网格图?或者这个。
我现在已经成功地添加了一个二维图和一个曲面图。见下图 - 现在我的问题是 2D 绘图的范围太高以至于 3D 绘图被缩小到看起来只不过是天花板上的飞机。它应该有像我上面提到的问题中的数字一样的变化。
如何为 2D 绘图提供不同的 Y 轴,以便 3D 绘图不会像这里那样缩小。
您可以使用 DataAspectRatio 属性来完成此操作。从上一篇文章中的示例中获取灵感,如果我们有:
z=peaks(100);
x1=linspace(0,100);
plot3(x1,0*ones(1,numel(x1)),40*sin(x1))
surface(z+40, 'edgecolor', 'none');
然后你可以使用
set( gca, 'dataaspectratio', [1.25 1.25 .7] )
view( [-37.5 18] )
在某些情况下可以帮助恢复曲面图上的一些范围。然而,这种方法在非常极端的情况下是行不通的。