No 'CData' property on bar graph

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));

2 commentaires

Steven Lord
Steven Lord le 12 Oct 2017
Which release are you using?
Jack Olmstead
Jack Olmstead le 12 Oct 2017
R2017a

Connectez-vous pour commenter.

Réponses (2)

Tom Holmes
Tom Holmes le 9 Nov 2017

0 votes

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 le 18 Jan 2024

0 votes

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?

Community Treasure Hunt

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

Start Hunting!

Translated by