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?

 채택된 답변

Image Analyst
Image Analyst 2013년 9월 10일

0 개 추천

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

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?
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".
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.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Sean de Wolski
Sean de Wolski 2013년 9월 10일

0 개 추천

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

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.

댓글을 달려면 로그인하십시오.

Kelly Kearney
Kelly Kearney 2013년 9월 17일

0 개 추천

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

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.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Color and Styling에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by