- https://www.mathworks.com/matlabcentral/answers/553894-barcharts-colours-based-on-other-vectors#answer_456622
- https://www.mathworks.com/matlabcentral/answers/486175-how-can-i-change-colors-and-generate-errorbars-in-a-bar-graph#answer_397071
Change color on a single bar
95 views (last 30 days)
Show older comments
Alessandro Ruda
on 9 Mar 2021
Commented: Alessandro Ruda
on 10 Mar 2021
Dear MatLab comunity,
I have a problem in changing color on a single or multiple bars in a normal and easy bar graph.
I tried the following:
%% Load Data
RMSD_UDP = load('rmsf_UDP.dat');
% Assign variables
n = RMSD_UDP(:,1); %number of residue
x_UDP = RMSD_UDP(:,2); %RMSF for given residue
%Figure
figure
hold on
title('RMSF UDP');
w1 = 0.5;
b = bar(n,x_UDP,w1)
b.FaceColor = 'g';
b.CData(2,:) = [.5 0 .5];
b.CData(44,:) = ['k'];
xlabel('Residue');
ylabel('RMSF');
xlim([0 364])
ylim([0 5])
It doesn't work but I don't know if it's the MatLab version (R2017a). I tried it on one of the latest ones and it didn't work either. there must be some detail i am not seeing.
Any idea?
Have a nice day,
Alex
0 Comments
Accepted Answer
Adam Danz
on 9 Mar 2021
Edited: Adam Danz
on 9 Mar 2021
You have to set FaceColor to 'flat'.
Update: These methods rely on using the CData property which became available in Matlab r2017b.
More Answers (0)
See Also
Categories
Find more on Line 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!