How to plot it?
显示 更早的评论
Dear All,
We have
a=1,2,3,4,5; (in a column 1)
b=-1000,10,0,20,-20; (in a column 2)
b_filtered=b(:,2)>=0;
plot (a,b_filtered);
How to plot these two values that after filtered they have two different dimensions?
Best,
采纳的回答
更多回答(3 个)
Mathieu NOE
2022-7-13
hello
simply replace the negative values of b by NaN so the vector size remains the same
a=[1;2;3;4;5];
b= [-10;10;0;20;-20];
b_filtered=b;
b_filtered(b<0) = NaN;
plot (a,b,a,b_filtered,'dr');
3 个评论
Ara
2022-7-13
Mathieu NOE
2022-7-13
hello
both answers are correct and will display the exact same plot
I wanted to have both b and b_filtered the same size as a , because it seemed to me that you wanted it this way.
the other options as suggested by @Chunru works also , and if you want to have both b and b_filtered displayed , you can slightly modify his code :
it's up to you to pick the one you prefer
a = [1,2,3,4,5];
b = [-10,10,0,20,-20];
idx = b>=0;
plot(a,b,a(idx), b(idx), 'or');

Ara
2022-7-16
It is my understanding that you are trying to plot a and b_filtered. I believe b_filtered is supposed to contain the non-negative elements of b, please correct me if I'm wrong on this, I did not understand what exactly is (b(:,2)>=0) supposed to do? If I'm not wrong, we can retain the elements of a at the indices where b is not negative and plot a and b accordingly.
a=[1;2;3;4;5];
b= [-10;10;0;20;-20];
b(b<0)=NaN;
a(b<0)=NaN;
b_filtered=b;
p=plot (a,b_filtered,"red");
Ara
2022-7-13
0 个投票
3 个评论
Ruchika P Barman
2022-7-13
编辑:Ruchika P Barman
2022-7-13
Do you mean 'b' by 'second column of my data' or second column of 'b' which is a single element i.e 10? If it is the former, then the output from both the answers are correct.
Please let me know if I can help you further, thank you.
Ara
2022-7-14
类别
在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

