File Exchange

image thumbnail

bar3color(varargin)

version 1.1.0.0 (3.43 KB) by William Murphy
Create a 3-dimensional barchart where the height of the bar chooses the color.

8 Downloads

Updated 31 Mar 2016

View License

The bar3 function was modified to make the color map variable, cc, match the height variable, zz. The cc variable has the height for each of the faces of the bar. Seven lines of code were added to bar3 to modify the color map.

Cite As

William Murphy (2019). bar3color(varargin) (https://www.mathworks.com/matlabcentral/fileexchange/23439-bar3color-varargin), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

Dennis

Eran Mukamel

The few lines of code above by 'us' do a good quick job for color varying with bar height, but the entire bar does not color in like the function bar3color will.

Is there a way to create a stacked bar using the same colors used in a bar3color of a given data set? For example, if I use:

hh = bar3color(peaks(3));

I get a 3x3 plot whose bars are colored as a function of their height. I'd like to keep these same colors, for the same data, and stack the rows (or columns) so that the new stacked bar plot shows the total height, but each bar contributing to its total has the color used in the previous bar3color plot.

I want to do this so I can condense a bunch of information that I have on a bar3color plot into two dimensions and keep the coloring scheme so the eye can move easily between the same data on two different plots.

us

these few lines do the same without need to change BAR3...

% create a stock bar3
bh=bar3(peaks(32));
% the engine
for i=1:length(bh)
set(bh(i),'cdata',...
get(bh(i),'zdata'));
end
% choose your color...
colormap(pink);
colorbar;

us

Updates

1.1.0.0

Updated the file so that it now has the BSC license. It is a minor modification of the existing bar3() function.

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

Inspired: superbar