
plotting a column of a timetable
조회 수: 10 (최근 30일)
이전 댓글 표시
Hi,
Im trying to plot a column of a timetable which looks like this:

I wanna plot one column of the table over the time for the whole length of the table. I tried using this:
plot(phaseOne.VideoTime, phaseOne.Happy);
phaseOne is the timetable, VideoTime the old columns name with the time and Happy one of the columns i want to plot.
The error im getting is this:
Error using plot
Invalid data argument.
Error in work (line 33)
plot(phaseOne.VideoTime, phaseOne.Happy);
What i noticed are the single quotation marks around my data, which were not included in my original data.
Is the type of the array a problem? Do i need to convert the columns into numbers or similar to plot? I assume i also would have to convert the time/duration back into real numbers then.
Best regards,
Matthias
댓글 수: 0
채택된 답변
Stephan
2019년 1월 7일
편집: Stephan
2019년 1월 7일
Hi,
the quotes tell you, that Matlab does not interpret this values as numbers but as datatype char.
You can check data type for every column by clicking the little arrow which appears if you move the mouse to the column name (here field b) in the "variables" tab:

Try to convert them to numbers:
phaseOne.Happy = str2num(phaseOne.Happy)
After performing this operations on the needed columns, the plot command should work properly.
Best regards
Stephan
댓글 수: 3
Stephan
2019년 1월 7일
there is no loss of Information - type:
format long
phaseOne.Happy
numeric values are displayed with 4 digits by standard. internally the numbers are stored correct .
추가 답변 (1개)
Peter Perkins
2019년 1월 23일
Matthias, it seems like you've solved your immediate issue. But still, you really ought to figure out how those numeric data became text, and fix the problem at its source. It may be that you need to use detectimportoptions when using readtable, for example.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!