Error scatter plot time vs wind speed (data from a table)

조회 수: 1 (최근 30일)
Marissa Menzel
Marissa Menzel 2018년 5월 31일
편집: Greg 2018년 6월 1일
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
Paolo
Paolo 2018년 5월 31일
Could you attach the .txt file to your question?

댓글을 달려면 로그인하십시오.

답변 (1개)

Greg
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
Marissa Menzel
Marissa Menzel 2018년 6월 1일
I tried the new scatter line and got an error Error using windconversions (line 20) Unrecognized variable name 'time'.
Greg
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!

Translated by