# Very beginner question: plot excel via scatter3d but getting error

41 views (last 30 days)
vapeur on 21 May 2017
Commented: Star Strider on 21 May 2017
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.

Walter Roberson on 21 May 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 Comment

vapeur on 21 May 2017
Thanks! I just knew from you that the curly braces can do what parenthesis cannot..

Star Strider on 21 May 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.

vapeur on 21 May 2017
Thanks!
Star Strider on 21 May 2017
Our pleasure!