Can I specify a particular matrix for the colorbar?
3 views (last 30 days)
Show older comments
I'd like to create a map using one particular matrix of data (log-transformed), but make the colorbar from a different matrix data (un-transformed). Is this possible? Can I specify for the colorbar to pull info from a matrix that wasn't used for the map?
0 Comments
Accepted Answer
Image Analyst
on 10 Sep 2013
No, the colorbar represents the colormap in use. For example you can't show a grayscale colorbar while having the image use the "jet" pseudocolor lookup table/colormap. Though you can redefine what the tick marks say. And you can put up an image the same size as the colorbar right where it would go and display any RGB image in there you'd like (for example a colorbar that looks like what you want rather than the color map that is actually being used on the image being displayed.)
5 Comments
Image Analyst
on 13 Sep 2013
I know. I just didn't see why you'd want that deceptive colormap. So that's why I asked "WHY do you want...?" instead of "What do you want".
More Answers (2)
Sean de Wolski
on 10 Sep 2013
It is possible to do what you want by adjusting the 'CData' properties of the various graphics objects and the 'YLim' property of the colorbar.
2 Comments
Kelly Kearney
on 17 Sep 2013
You've accepted an answer, but I'm not sure you've actually solved your problem. If I'm guessing correctly, you aren't really looking for a different colormap... you just want to label the colorbar with the more human-readable value. Is this the sort of thing you're looking for?
pcolor(log10(z)); % z is your chlorophyll data
cb = colorbar;
tk = [0.01 0.1 1 10 50]';
set(cb, 'ytick', log10(tk), 'yticklabel', num2str(tk));
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!