Error scatter plot time vs wind speed (data from a table)
조회 수: 1 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Greg
2018년 6월 1일
편집: Greg
2018년 6월 1일
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
Greg
2018년 6월 1일
Sorry, I was looking at your time = T(:,2) line rather than the data file. See updated answer.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!