Can I specify a particular matrix for the colorbar?

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?

 Akzeptierte Antwort

Image Analyst
Image Analyst am 10 Sep. 2013

0 Stimmen

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 Kommentare

Maureen
Maureen am 10 Sep. 2013
is there a way to freeze the colorbar and then replace the map with other data? or vice versa?
Not that I'm aware of. Why do you want the colorbar to be something that doesn't represent the true color map that is being used?
Maureen
Maureen am 13 Sep. 2013
i want the patterns in the map to be of log10 data, however i want the colorbar to show the real untransformed values, not the logged values.
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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Sean de Wolski
Sean de Wolski am 10 Sep. 2013

0 Stimmen

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 Kommentare

Maureen
Maureen am 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.
Aptly named: FEX:freezecolors. Also look at the files it's inspired.

Melden Sie sich an, um zu kommentieren.

Kelly Kearney
Kelly Kearney am 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 Kommentar

Maureen
Maureen am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Color and Styling finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by