File Exchange

image thumbnail

b2r(cmin_input,cmax​_input)

version 1.2 (4.63 KB) by

matlab blue-white-red colorbar, while zero always corresponds to white color. see also darkb2r

23 Downloads

Updated

View License

this matlab file is designed to draw anomaly figures, the color of the colorbar is from blue to white and then to red, corresponding to the anomaly values from negative to zero to positive, respectively.
The color white always correspondes to value zero.

You should input two values like caxis in matlab, that is the min and the max value of color values designed. e.g. colormap(b2r(-3,5))

The brightness of blue and red will change according to your setting, so that the brightness of the color corresponded to the color of his opposite number
e.g. colormap(b2r(-3,6)) is from light blue to deep red
e.g. colormap(b2r(-3,3)) is from deep blue to deep red
I'd advise you to use colorbar first to make sure the caxis' cmax and cmin
Examples:
------------------------------
figure
peaks;
colormap(b2r(-6,8)), colorbar, title('b2r')

There is also a similar colorbar named darkb2r with colors much darker.

Comments and Ratings (10)

Nassir

Nassir (view profile)

easy to use:However not very useful when negative values are very small as in my case

Afaq Shah

Very useful/helpful. Would be good if more colors may be added in the colorbar, colors similar to colormap(jet).
Cheers

Utsav

Utsav (view profile)

Excellent for its purpose.

Could I suggest the following:
When cmin is not equal to cmax then either blue or red is not assigned its full color intensity. The assigned colors are chosen and scaled depending on max([cmin,cmax]).
Could the blue and red colors be scaled independently with the most negative value taking the "most blue color" and the most positive value taking the "most red color"?

I used the colormap editor to manually assign to either color its full intensity and then save the colormap. But this defeats the point I guess.

Thanks!

Marcel

Marcel (view profile)

I encounter an error when abs(cmin)>cmax. Adding 1 to start_point in line 90 seems to do the job.

Daniel

Daniel (view profile)

Chad Greene

Chad Greene (view profile)

I use this several times each week. Thanks for sharing.

Philippe

Updates

1.2

updated: Robert Beckman help to fix the bug when start point is zero, 2015-04-08.The bug exists when the absolute value of cmax and cmin is very near but not equal.

1.1

updated: Robert Beckman help to fix the bug when start point is zero, 2015-04-08. The bug exists when setted cmax and cmin is very near but not equal.

MATLAB Release
MATLAB 7.7 (R2008b)
Acknowledgements

Inspired: Post-glacial rebound, anomaly

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video