assign particular colour to 2nd bar of the bar plot

1 view (last 30 days)
I have a matrix of 4 elements. I plotted a bar graph. how can I assign red colour for the 2nd bar and blue for remaining 3 bars?

Answers (1)

Subhadeep Koley
Subhadeep Koley on 4 Feb 2020
Hi, use the code below.
clc; close all;
% Define your 4-element matrix
y = [25 75 100 125];
% Plot bar graph
b = bar(y);
% Assign red colour to the second bar
b.FaceColor = 'flat';
b.CData(2,:) = [1 0 0];
customBarColor.png
Hope this helps!
  2 Comments
RAJAT GANGADHARAN
RAJAT GANGADHARAN on 4 Feb 2020
it was showing an error as follows:
"No appropriate method, property, or field 'CData' for class
'matlab.graphics.chart.primitive.Bar'.
Did you mean:
>> b.XData (2, :) = [1 0 0];"
Subhadeep Koley
Subhadeep Koley on 4 Feb 2020
No I meant b.CData(2,:) = [1 0 0]; only.
Which matlab version are you using?
Also, can you show the matrix which you are trying to plot? (I mean you entire code)
It seems the built-in bar() function is being shadowed by a custom function with same name as "bar".

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!