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.

Categories

Find more on Discrete Data Plots 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!