hello,
i want to plot my bar in two colors conditions.if Tr<0 the color is red else the color is green. Ihqve tryed this but it didn't works.
can you help me please
T=readtable('file.xlsx');
A=T{:,:};
Tr=A(:,1);
EPR=A(:,2);
for i=1:length(A)
h=bar(Tr,EPR)
hold on
if (Tr<0)
barcolor='r';
else
barcolor='g'
end
end

 採用された回答

Andy
Andy 2020 年 10 月 22 日

0 投票

figure();
hold on
for i=1:length(A)
if (Tr(i)<0)
h=bar(Tr(i),EPR(i),'r');
else
h=bar(Tr(i),EPR(i),'g');
end
end
hold off

1 件のコメント

Rik
Rik 2020 年 10 月 22 日
Just a note: it is bad design to use length for matrices. It is also probably not a good idea to create many bar objects, as that many graphics objects may cause performance issues.

サインインしてコメントする。

その他の回答 (1 件)

Rik
Rik 2020 年 10 月 22 日
編集済み: Rik 2020 年 10 月 22 日

0 投票

If you insist on separate bar objects you can use the first part, if not, you can use the second part
figure(2),clf(2)%ensure a clean figure for this example
A=rand(10,2)*5-2.5;%generate random data
Tr=A(:,1);
EPR=A(:,2);
subplot(1,2,1)
%for i=1:length(A)
for n=1:size(A,1)% or since R2020b: n=1:height(A)
width=0.05;
h=bar(Tr(n),EPR(n),width);
hold on
if (Tr(n)<0)
h.FaceColor='r';
else
h.FaceColor='g';
end
end
subplot(1,2,2)
L=Tr<0;
EPR_part=EPR;EPR_part(~L)=NaN;% this step is only require to make the bars the same width
bar(Tr,EPR_part,'r'),hold on
EPR_part=EPR;EPR_part( L)=NaN;
bar(Tr,EPR_part,'g'),hold off

4 件のコメント

bekka mohamed
bekka mohamed 2020 年 10 月 22 日
thank you for the answer,
the code did not work well. that shows a green plot bar. and for the width, i have 2560 values so width is not necessary. i just want to plot it with two colors with a specific condition
Rik
Rik 2020 年 10 月 22 日
Did you run my code with the generated random data, or with only your own data? This code does what you describe when I run it on R2020b. What release are you using?
bekka mohamed
bekka mohamed 2020 年 10 月 22 日
oh, my bad ! it was a probleme with my data . so the code works perfectly thank you for your effort
bekka mohamed
bekka mohamed 2020 年 10 月 22 日
and am using R2018b

サインインしてコメントする。

カテゴリ

タグ

質問済み:

2020 年 10 月 22 日

コメント済み:

Rik
2020 年 10 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by