Effacer les filtres
Effacer les filtres

Change upper limit of HSV colormap

5 vues (au cours des 30 derniers jours)
newbie9
newbie9 le 5 Nov 2018
Commenté : newbie9 le 6 Nov 2018
Is there any way to change the upper limit of the HSV colormap (https://www.mathworks.com/help/matlab/ref/hsv.html), so that the high and low aren't both red?
Example application: Data ranges from 1 to 10; values of 1 and 10 both plot as red

Réponse acceptée

newbie9
newbie9 le 6 Nov 2018
This actually is what I was looking for; the above answers are helpful for manipulating the HSV matrix, but this by-passes that need: https://www.mathworks.com/help/matlab/ref/jet.html
  2 commentaires
Image Analyst
Image Analyst le 6 Nov 2018
jet is a different colormap than hsv so I don't know how this answers your question. It's not merely rotated through hues or changing what color of the hsv colormap is at the top of the colorbar. There are other colormaps like parula, summer, winter, hot, etc.
newbie9
newbie9 le 6 Nov 2018
Question was, how to prevent high and low ends from both showing up as red? Trying something other than HSV is an acceptable answer.

Connectez-vous pour commenter.

Plus de réponses (2)

Walter Roberson
Walter Roberson le 5 Nov 2018
The hsv color map is sorted by first component, which is Hue. It is a feature of hsv hue that hue is an angle in a circle, and since circles circle, both high and low angles are red hues, same as the fact that both 1 degree and 359 degrees are nearly the same place in a circle.
You could sort hsv() with respect to a different column and colormap() the results. Or you could do something like hsv() for twice as many colors as you need and then throw away the last half and colormap() what is left.
  1 commentaire
newbie9
newbie9 le 5 Nov 2018
Modifié(e) : newbie9 le 5 Nov 2018
That makes sense, thank you for the explanation and advice

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 5 Nov 2018
Try circshift() to rotate the colormap vertically.
  2 commentaires
newbie9
newbie9 le 5 Nov 2018
I didn't know about circshift(), thank you
Image Analyst
Image Analyst le 5 Nov 2018
But it works, right?
You can also use caxis() to specify what values in your data correspond to the upper and lower colors. This will allow you to use just a part of the colormap.
Finally, you can just create your own colormap N-by-3 array if you want to use that with the colormap() function.

Connectez-vous pour commenter.

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!

Translated by