How to plot scatter plot with conditions?
17 次查看(过去 30 天)
显示 更早的评论
Hi,
I have 2 columns of data (below table is an extract).
If the Time in row (i+1) - row (i) is less than 3, I want to plot the corresponding PW in a scatter plot. How can I do this in Matlab?
For example, the Time value in row 2 subtract the Time value in row 1 is zero, hence the PW value of 10 and 10.2 will be plotted in a scatter plot.
Thanks in advance.
0 个评论
采纳的回答
Davide Masiello
2023-2-28
编辑:Davide Masiello
2023-2-28
data = readmatrix('table.xlsx');
time = data(:,1);
PW = data(:,2);
You can identify all the indexes for which the difference between two rows is less then three in the following way.
idx = abs(diff(time)) < 3;
However, idx now has length(time)-1 elements (because it perofrms subraction of i+1 and i elements one pair at a time).
You can easily fix it with
idx = [idx(1);idx];
And then plot your selected data
scatter(time(idx),PW(idx),[],PW(idx),"filled")
2 个评论
Davide Masiello
2023-2-28
Hi @Jayden Yeo, I've edited my answer, now the scattered marks are colored according to the PW value.
If it helped, please consider accepting the answer. Cheers.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Scatter Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!