Why isn't my color assignment working in this bar graph?

8 ビュー (過去 30 日間)
Shannon
Shannon 2013 年 11 月 13 日
コメント済み: Image Analyst 2013 年 11 月 14 日
Hi all, I am trying to assign colors to individual bars in a bar plot that I'm making. I was able to do this before using a 3x3 matrix, but now with the 1x3 matrix (called "Slopes" below) I keep getting the error, "??? Index exceeds matrix dimensions. Error in ==> NColdthree at 93 set(bar1(2),'FaceColor','r')" when I try to run the following script:
Slopes = [-0.002 0.010 -0.012];
subplot(1,3,2) bar1 = bar(Slopes);
%Set the colors of the three bars set(bar1(1),'FaceColor','b') set(bar1(2),'FaceColor','r') set(bar1(3),'FaceColor','g')
%Add legend, axis labels, etc. legend(bar1,'P','E','P-E') ylabel 'Regression Coefficients' xlabel('Northern Cold*') title('Linear Trend','FontSize',16) axis([0 4 -0.05 0.05])
Any thoughts on why I can't specify the colors for the 2nd and 3rd bars? Thanks!

回答 (2 件)

Image Analyst
Image Analyst 2013 年 11 月 13 日
See attached demo.
  4 件のコメント
Shannon
Shannon 2013 年 11 月 14 日
Great, thank you for the clarification.
Image Analyst
Image Analyst 2013 年 11 月 14 日
It sounds like, from your comment to vivek (who's code is the same as mine just with different variable names), that you got it working. If so, please mark my Answer as Accepted, otherwise let's get it figured out.

サインインしてコメントする。


Vivek Selvam
Vivek Selvam 2013 年 11 月 13 日
編集済み: Vivek Selvam 2013 年 11 月 13 日
This link says how to. Hope the following illustration helps.
Slopes = [-0.002 0.010 -0.012];
numBars = numel(Slopes);
x = 1:numBars;
colStr = 'rgbymc';
for i = 1:numBars
barHan = bar(x(i),Slopes(i));
set(barHan,'FaceColor',colStr(i));
hold on
end
In case you have a lot of bars (therefore need more colors), you can make use of colormaps ( doc colormap ). For example using jet colormap (replace the corresponding lines in the above code):
colStr = jet(numBars); % line 4
set(barHan,'FaceColor',colStr(i,:)); % line 7
  1 件のコメント
Shannon
Shannon 2013 年 11 月 14 日
Worked like a charm. Thanks.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDiscrete Data Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by