PLOTTING BAR GRAPHS with different colors

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?

 Respuesta aceptada

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 comentarios

Nitin Arora
Nitin Arora el 22 de Nov. de 2021
@Star Strider: what is graph is required in this format? In this like on x-axis the values and on y-axis percentage of samples.
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
dpb el 22 de Nov. de 2021
<Answers 1592474-plotting-bar-graphs-with-different-color> amended to add the legends to the previous/alternate solution.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 22 de Nov. de 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

Categorías

Más información sobre Discrete Data Plots en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 22 de Nov. de 2021

Comentada:

dpb
el 22 de Nov. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by