Very beginner question: plot excel via scatter3d but getting error

1 Ansicht (letzte 30 Tage)
Hi there, I've tried to plot a set of data (188 points from a table 188*3) using scatter3d, and codes are below.
x=data01(:,1);
y=data01(:,2);
z=data01(:,3);
scatter3(x,y,z);
and my x value is a list of 188 numbers of x-coordinate(purely number), and it is a table with 188*1.
It is very simple, but I continued got error saying 'input arguments must be numeric, datetime, duration or categorical'. I cannot find solution...and it kills half of my day..would somebody like to help? Thanks.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Mai 2017
Because your data01 is a table, you need to extract the content of the table.
x=data01{:,1};
y=data01{:,2};
z=data01{:,3};
scatter3(x,y,z);
Or if you know the variable names you could use them. For example if the variable names in the table are Lat, Lon, Alt, then you could code
x = data01.Lat;
y = data01.Lon;
z = data01.Alt;
scatter3(x,y,z);
  1 Kommentar
vapeur
vapeur am 21 Mai 2017
Thanks! I just knew from you that the curly braces can do what parenthesis cannot..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Star Strider
Star Strider am 21 Mai 2017
You need to use cell array addressing.
This works:
figure(1)
scatter3(data01{:,1}, data01{:,2}, data01{:,3})
Note the curly braces ‘{}’ denoting cell array addressing.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by