Clear Filters
Clear Filters

No 'CData' property on bar graph

13 views (last 30 days)
Jack Olmstead
Jack Olmstead on 12 Oct 2017
Answered: Roger Breton on 18 Jan 2024
I'm trying to make a bar graph and adjust the colors of individual bars. The most helpful online answers on how to do this involve using the 'CData' property of the bar object. However, in my particular bar graph, generated by the following code, there is no 'CData' property, and I'm confused as to why. Any help would be greatly appreciated!
eyesPlot = bar(1:4,eyesArray(:,2));

Answers (2)

Tom Holmes
Tom Holmes on 9 Nov 2017
This worked for me with 2017a release:
figure
BarMatrix = [your_matrix_here];
b = bar(BarMatrix,1,'LineStyle','none');
CData = lines(4);
for k = 1:size(BarMatrix,2)
b(k).FaceColor = CData(k,:);
end

Roger Breton
Roger Breton on 18 Jan 2024
Does not work for me?
I use:
data = [1 2 3 4];
figure
BarMatrix = [1 2 3 4];
b = bar(BarMatrix,1,'LineStyle','none');
CData = lines(4);
for k = 1:size(BarMatrix,2)
b(k).FaceColor = CData(k,:);
end
And all I get are four solid bars of blue?

Categories

Find more on Graphics Object Properties 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!