如何解决从 CSV 文件在 x 轴上绘制时间戳
我正在尝试在 Octave 的 x 轴上绘制带有日期时间的图。日期时间是“yyyy-mm-dd HH:MM”格式的时间戳。我使用 scan2cell 函数从 CSV 文件中读取数据,数据打印在数组中但无法绘制 - 它显示错误:绘图:没有要绘制的数据
%code:
filename = 'Test_12.csv';
data = csv2cell(filename);
time = data (:,2);
y = data (:,3);
plot(time,y)
注意:CSVread 函数以虚构格式打印日期时间! 2021 - 3i 2021 - 3i 2021 - 3i
解决方法
鉴于以下 Test_12.csv
文件:
No,Time,timeToFix
1,2021-03-09 20:02,51
2,2021-03-09 20:14,87
3,2021-03-09 20:16,82
4,2000-01-01 0:03,44
5,2021-03-09 20:21,34
6,2021-03-09 20:31,34
您可以执行以下操作:
pkg load io % provides the `csv2cell` function
Filename = 'Test_12.csv';
CsvContents = csv2cell( Filename );
Headers = CsvContents(1,:); % First row contains headers
Data = CsvContents(2:end,:); % Followed by data
% Convert values in cells to desired array format in each case
Time = cellfun( @(s) datenum( s,'yyyy-mm-dd HH:MM' ),Data(:,2) );
TimeToFix = cell2mat( Data(:,3) );
% Plot
P = plot( Time,TimeToFix,'o' );
% Touch up plot a tiny bit to make it look nicer
set( P,'markerfacecolor',[1,0.5,0.5],'markeredgecolor',[0.5,0.25,0.25],'linewidth',2,'markersize',10 )
grid on
datetick( 'yyyy-mm-dd' ) % Convert 'datenum' values back to appropriate datestrings
set( gca,'color',[0.8,0.8,0.8],'gridcolor','w','gridlinestyle',':','gridalpha',1 )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。