Need help regarding colorbar?
5 views (last 30 days)
Show older comments
Lavnish Gupta
on 17 Jun 2018
Commented: Ameer Hamza
on 18 Jun 2018
I want to create a colorbar with three colors: blue color for minimum( it will be negative), white color for zero(in the middle) and red color for maximum(it will be positive). I want the colorbar to transform smoothly between the three colors. Any suggestions?
2 Comments
Rik
on 17 Jun 2018
Create a colormap that is sufficiently smooth to your liking (e.g. with a few calls to linspace). Then you can set the Ticks property and the TickLabels property. The nice thing for you is that if you choose your scale sufficiently small, all negative values will be below the lowest index (and be colored with the lowest index), and all positive values will be above the highest index (which will be colored with the highest index). That would leave only 0 itself to be colored white.
You should supply a MWE, so we can help you tweak your code to solve this for realistic values. (Use the {}Code button to correctly format your code.)
Accepted Answer
Ameer Hamza
on 18 Jun 2018
If you want white color exactly at the center corresponding to value 0 then you will need to make the limit of caxis() symmetrical around zero. I suppose that in your case min value is negative. Therefore try
maxLimit = max(abs(min), abs(max));
caxis([-maxLimit maxLimit]);
2 Comments
More Answers (0)
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!