How to create personalized colormap that starts from a specified value
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Reza Lashani
le 22 Nov 2022
Commenté : Reza Lashani
le 22 Nov 2022
Hello everyone
I've plotted a surface which it's value when z>=0 is what I want to report. When I use zlim([0 n]) command, the colormap won't update and the peaks are not distinguishable as you see in pictures attached. Is there a way that I could create a personalized colormap which it starts from z=0 and vary with z value? (For example in the grey gradient in pictures attached, the color of z=0 becomes black and the color of highest value of z becomes grey)
Thanks and regards
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1202843/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1202848/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1202853/image.png)
0 commentaires
Réponse acceptée
Florian Bidaud
le 22 Nov 2022
Hi
If Z is the map you plot, you can replace all the negative values by 0 like that :
Z = [0 1 8; -1 5 10;-6 -3 14]
Z_negative = Z;
Z_negative(Z<0) = 0
And then plot this new map
If you don't want these values at all, you can replace them by NaN :
Z = [0 1 8; -1 5 10;-6 -3 14];
Z_negative = Z;
Z_negative(Z<0) = NaN
3 commentaires
Florian Bidaud
le 22 Nov 2022
Modifié(e) : Florian Bidaud
le 22 Nov 2022
I'm not sure what you really want. zlim removes the values from the plot as follows:
Maybe what you want is changing the color scale ? In this case, you need to use caxis([0 n]).
x = [0 1 2 3 4];
y = [0 1 2 3 4];
z = [1 5 -2 4 6;-1 5 -6 7 8; 1 2 5 9 10; -2 -3 -4 -5 -7;5 -1 6 -2 3];
surf(x,y,z)
zlim([0 max(max(z))])
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1202883/image.png)
caxis([0 max(max(z))])
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1202888/image.png)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Colormaps 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!