How to plot over certain range using if statements?
5 次查看(过去 30 天)
显示 更早的评论
Hello,
I've inputted data from an excel file (defined here as B), and would like to generate two separate plots -- one where the value in column 7 is <25, and a second where the value in column 7 is >= 25.
So far, the code is:
s = B(1:18,7);
for x = B(1:18,5)
for y = B(1:18,12);
for i=1:length(B(1:18,7));
if s(i)<25;
figure(1);
subplot(3,1,1);
scatter(x,y); grid on;
hold on
elseif s(i)>=25;
figure(2);
subplot(3,1,1);
scatter(x,y); grid on;
hold on
end
end
end
end
The plots are identical, and it appears that the code is checking that the value in column is < or >= 25, and then plotting all of (x,y). How do I limit it so it only plots (x,y) under those conditions separately?
Any advice or suggestions are appreciated.
Cheers
0 个评论
采纳的回答
KSSV
2017-11-14
x = rand(100,1) ;
y = rand(100,1) ;
idx1 = y >= 0.5 ;
idx2 = y < 0.5 ;
figure
hold on
scatter(x(idx1),y(idx1),50,y(idx1),'s','filled')
scatter(x(idx2),y(idx2),50,y(idx2),'c','filled')
legend('data1','data2')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!