search for rows in a table and plot scatter3

Hello everyone,
I am a new Matlab user. I have this table bellow:
trackID x y time
0 62.9926 -43.1079 2
2 81.2249 -69.9542 3
0 62.5516 -50.5776 1
3 125.7402 -64.7092 1.5
1 86.2224 -20.5914 2
0 70.1913 -37.885 4
I want to code/say that if the track ID is equal to 1 or 2 or 3 then plot scatter3 (x,y,time)
I am very new to Matlab, I truly appreciate your help or tips.
Thank you!

 Accepted Answer

rowsToPlot = (t.trackID == 1) || (t.trackID == 2) || (t.trackID == 3)
x = t.x(rowsToPlot);
y = t.y(rowsToPlot);
z = t.time(rowsToPlot);
scatter(x, y, z);
grid on;
xlabel('x');
ylabel('y');
zlabel('time')

4 Comments

I am getting this after entering the first line, not sure why:
Unable to resolve the name t.trackID.
>> trackID= xlsread("table1.xlsx", "A:A")
trackID =
0
2
0
3
1
0
>> xx= xlsread("table1.xlsx", "B:B")
xx =
62.9926
81.2249
62.5516
125.7402
86.2224
70.1913
>> yy= xlsread("table1.xlsx", "C:C")
yy =
-43.1079
-69.9542
-50.5776
-64.7092
-20.5914
-37.8850
>> tt= xlsread("table1.xlsx", "D:D")
tt =
2.0000
3.0000
1.0000
1.5000
2.0000
4.0000
>> rowsToPlot = (t.trackID == 1) || (t.trackID == 2) || (t.trackID == 3)
Unable to resolve the name t.trackID.
Perhaps reading it as:
t = readtable("table1.xlsx")
will be in keeping with what @Image Analyst intends.
.
@Rulla RA you said "I have this table bellow:" so I assumed that was true and you had a table variable already. If you don't, just use readtable() like Star said above.
Thank you so much

Sign in to comment.

More Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Products

Asked:

on 27 May 2022

Commented:

on 30 May 2022

Community Treasure Hunt

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

Start Hunting!