![](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?
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Mike Garrity
le 1 Fév 2016
Modifié(e) : Mike Garrity
le 1 Fév 2016
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 commentaires
John Mickett
le 7 Août 2019
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
le 14 Fév 2020
Thanks, It is very helpful.
I used colormap(jet(31)) instead of colormap(lines(7)). It gives more contour likely view.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Contour Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!