Clear Filters
Clear Filters

Bar graphs - color coding..

2 views (last 30 days)
sas0701
sas0701 on 5 Mar 2013
Hello,
I need to color code my bar graph.
a = [10 20 30 25 15] b = [1 3 2 1 4] bar(a)
BUT, I want a(1) and a(4) the same color because b(1) and b(4) = 1; a(2), a(3) and a(5) each a different color because b(2,3 and 5) are different.
Thanks, S

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 5 Mar 2013
close
a = [10 20 30 25 15]
b = [1 3 2 1 4]
cl='rgbmc'
for k=1:numel(a)
bar(k,b(k),cl(b(k)))
hold on
end
set(gca,'Xtickmode','auto')
set(gca,'Xtick',1:k)

More Answers (1)

sas0701
sas0701 on 5 Mar 2013
Hi, For reasons beyond my control , I need to specify the colors colors = [0 0 1; %blue 1 0 1; %magenta 0 1 0; %green 1 0 0; %red 0 1 1; %cyan 1 1 0; %yellow 0 0 0; %black 1 0.5 0]; %orange
Is there anyway to do this in bar graph. The only problem seems to be orange as the others have a short name associated with it.
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 5 Mar 2013
Edited: Azzi Abdelmalek on 6 Mar 2013
close
a = [10 20 30 25 15]
b = [1 3 2 1 4]
cl= [0 0 1; 1 0 1;0 1 0;1 0 0; 0 1 1; 1 1 0; 0 0 0; 1 0.5 0];
for k=1:numel(a)
h=bar(k,b(k),'Facecolor',cl(b(k),:))
hold on
end
sas0701
sas0701 on 6 Mar 2013
Of course that works!! I had tried it before but yours works :) Thank you!

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!