Can I specify a particular matrix for the colorbar?

3 views (last 30 days)
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?

Accepted Answer

Image Analyst
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
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".
Maureen
Maureen on 17 Sep 2013
for the chlorophyll data i'm using, it's an accepted tool in order to see patterns in areas of deep water that normally would not be showing any patterns because of the small differences in values.

Sign in to comment.

More Answers (2)

Sean de Wolski
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.
I did this with my meshCanopy file.
  2 Comments
Maureen
Maureen on 10 Sep 2013
is there a way to freeze the colorbar and then replace the map with other data? or vice versa? i'm using m_datamap for my mapping function.

Sign in to comment.


Kelly Kearney
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));
  1 Comment
Maureen
Maureen on 25 Sep 2013
unfortunately, none of these suggestions have solved my issue. I am beginning to think there might not be a way to do this in Matlab.

Sign in to comment.

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!