Error scatter plot time vs wind speed (data from a table)
2 views (last 30 days)
Show older comments
I am trying to make a simple scatter plot with time on the x-axis and wind speed on the y-axis. I loaded in my data from a txt file as a table and then tried to use table2array to plot since it needs numeric values not table data. I also tried using double and got another error.
Error Message: Error using scatter (line 55) Input arguments must be numeric or objects which can be converted to double.
Error in windconversions (line 18) scatter(time,wnd_TS)
T = readtable('allunderway.txt', 'HeaderLines', 2);
%A = table2array(T)
date = T(:,1);
time = T(:,2);
wnd_TD = T(:,10);
wnd_TS = T(:,11);
table2array(wnd_TS);
table2array(time);
%double(wnd_TS);
scatter(time,wnd_TS)
2 Comments
Answers (1)
Greg
on 1 Jun 2018
Edited: Greg
on 1 Jun 2018
You're misunderstanding how MATLAB operates. Functions like table2array don't manipulate the variable in place, they return it as an explicit output variable. Replace
table2array(wnd_TS);
table2array(time);
with
wnd_TS = table2array(wnd_TS);
time = table2array(time);
Better than that though is to index into tables properly:
scatter(T.Time_GMT,T.Wnd_TS);
2 Comments
Greg
on 1 Jun 2018
Sorry, I was looking at your time = T(:,2) line rather than the data file. See updated answer.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!