File Exchange

image thumbnail

bar3color(varargin)

version 1.1 (3.43 KB) by

Create a 3-dimensional barchart where the height of the bar chooses the color.

4 Downloads

Updated

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.

Comments and Ratings (4)

Dennis

Dennis (view profile)

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

us (view profile)

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

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

MATLAB Release
MATLAB 8.4 (R2014b)
Acknowledgements

Inspired: superbar

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

» Watch video