我正在尝试绘制曲面图,在曲面下方我希望显示轮廓线,但我希望轮廓位于z = -1
而不是默认值0
。我找到了之前关于这个问题的帖子here https://stackoverflow.com/questions/8054966/matlab-how-to-change-contourf-plots-location-on-z-axis,但是当我尝试解决方案时,轮廓仍然处于z = 0
。也许和我使用的MATLAB版本有关,是2014b?
关于如何使其发挥作用有什么想法吗?
我尝试过的代码:
%# plot surface and contour
Z = peaks;
surf(Z), hold on
[~,h] = contourf(Z); %# get handle to contourgroup object
%# change the ZData property of the inner patches
hh = get(h,'Children'); %# get handles to patch objects
for i=1:numel(hh)
zdata = ones(size( get(hh(i),'XData') ));
set(hh(i), 'ZData',-10*zdata)
end
因此,我无法真正弄清楚如何按照我发现并发布的示例中的建议进行操作,但我找到了一种可行的方法。我最终所做的基本上是这样的:
figure
hold on
surf(X,Y,Z+1);
contour(X,Y,Z);
zz = get(gca,'ZTick');
set(gca,'ZTickLabel',sprintf('%3.1f\n',zz-1));
这让我在同一个图中得到了海浪和轮廓,但在颜色映射方面产生了一些问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)