PLOTTING BAR GRAPHS with different colors
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have data stored in an array A from 1 to 400: A[1] =0, A[2]= 66.56, A[3]= 64.8, A[4]=56.8.....A[10] = 54.3, A[11]=73.3 ......... A[400] = 76.5
I wish to plot a bar graph in such a manner A[1] to A[10] in red color and A[11] to A[400] in blue color in a same graph. Can any one help me in this?
0 commentaires
Réponse acceptée
Star Strider
le 22 Nov 2021
Try this —
A = rand(1,400);
x = 1:400;
figure
hb = bar(x, A);
hb.FaceColor = 'flat';
hb.CData(1:10,:) = [ones(10,1) zeros(10,2)];
xlim([0 50]) % Zoom To See Detail (Delete Later)
Experiment to get different results.
,
3 commentaires
Star Strider
le 22 Nov 2021
The legend was not part of the original request.
The only way to do that is to use the hold function and plot two separate bar objects. (I did some deep property spelunking and could not devise away to make the legend request compatible with my original code.)
A = rand(1,400);
x = 1:400;
figure
hold on
hb(1) = bar(x(1:10), A(1:10), 'r');
hb(2) = bar(x(11:end), A(11:end), 'b');
hold off
legend('Red Bars', 'Blue Bars', 'Location','bestoutside');
xlim([0 50]) % Zoom To See Detail (Delete Later)
.
dpb
le 22 Nov 2021
<Answers 1592474-plotting-bar-graphs-with-different-color> amended to add the legends to the previous/alternate solution.
Plus de réponses (1)
Walter Roberson
le 22 Nov 2021
N = 10;
bar(x(1:N), y(1:N), 'r');
hold on
bar(x(N+1:end), y(N+1:end), 'b');
hold off
0 commentaires
Voir également
Catégories
En savoir plus sur Graphics Object Properties dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!