File Exchange

image thumbnail


version (4.63 KB) by cunjie zhang
matlab blue-white-red colorbar, while zero always corresponds to white color. see also darkb2r


Updated 09 Apr 2015

View Version History

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
colormap(b2r(-6,8)), colorbar, title('b2r')

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

Cite As

cunjie zhang (2021). b2r(cmin_input,cmax_input) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (11)

John Jamison

Is it possible to make the color scale skewed? For example, if your most negative value is -30 and your most positive value is 5 have -30 be full blue and 5 be full red while white is still zero?


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

Syed Afaq Shah

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


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.



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


Chad Greene

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

Douglas Anderson


Eowyn Baughman

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: anomaly, Post-glacial rebound

Community Treasure Hunt

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

Start Hunting!