如何用Matlab获得这样的三维表面图

时间:2015-02-11 12:04:48

标签: matlab-figure undocumented-behavior

使用matlab的内置peaks或类似函数的工作示例可以;

  1. 两个不同的轴(尺寸)平面有不同的颜色;
  2. contour3类似但与mesh/surf
  3. 重叠的颜色效果
  4. 第三(地面)轴平面中的等高线图;
  5. 我尝试了有关轴句柄的文档属性但是失败了。为了获得这样的数字,可能需要一些无证的特征?

    enter image description here

1 个答案:

答案 0 :(得分:1)

您可以通过创建新轴来添加等高线图(第3点):

[xz,y,z] = peaks;

f = figure;
[~, hc]     =   contourf(xz, y, z);
a1          =   gca;
a2          =   axes('Parent', f, 'Position', a1.Position);

hs          =   surf(xz, y, z, 'Parent', a2);

a1.Color    =   'none';
a2.Color    =   'none';

a1.ZLim     =   [0 1];
a2.ZLim     =   [-9 9];

a1.XTick    =   [];
a1.YTick    =   [];
a1.ZTick    =   [];

a1.Box      =   'off';
a2.Box      =   'off';

% Call after setting desired view on a2 (surf plot)
a1.View     =   a2.View;

在MATLAB 2014b上生成: Contour and surface plot