![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/172609/image.png)
How do I plot a contour map on the surface of a 3-d surface?
26 次查看(过去 30 天)
显示 更早的评论
The idea is similar to using "surf(X,Y,Z,C)" but I want contour lines in addition to the coloring provided by C. The contour lines need to correspond to f(x,y,z), not x, y, or z. If there is a non-toolbox specific answer, that would be great. Thanks.
0 个评论
采纳的回答
Mike Garrity
2016-2-1
编辑:Mike Garrity
2016-2-1
A simple tricky I use sometimes is to use a colormap with a small number of colors.
[x,y] = meshgrid(linspace(-pi,pi,150));
z = cos(x).*cos(y);
c = sin(x).*sin(y);
surf(x,y,z,c,'FaceColor','interp','EdgeColor','none')
zlabel('cosine')
colormap(lines(7))
c = colorbar;
c.Label.String = 'sine';
view([-45 60])
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/172609/image.png)
3 个评论
John Mickett
2019-8-7
I would like to put contour lines OVER a surf plot (two different variables), so that solution doesn't work. Any suggestions? I do it in 2D all the time.
GiWon Hong
2020-2-14
Thanks, It is very helpful.
I used colormap(jet(31)) instead of colormap(lines(7)). It gives more contour likely view.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!