PLOTTING BAR GRAPHS with different colors

조회 수: 6 (최근 30일)
Nitin Arora
Nitin Arora 2021년 11월 22일
댓글: dpb 2021년 11월 22일
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?

채택된 답변

Star Strider
Star Strider 2021년 11월 22일
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
Star Strider
Star Strider 2021년 11월 22일
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 2021년 11월 22일
<Answers 1592474-plotting-bar-graphs-with-different-color> amended to add the legends to the previous/alternate solution.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2021년 11월 22일
N = 10;
bar(x(1:N), y(1:N), 'r');
hold on
bar(x(N+1:end), y(N+1:end), 'b');
hold off

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by