我有一个数据文件,第一列为日期字符串,第二列为整数:
"2020/02/29" 1
"2020/03/03" 2
"2020/03/04" 6
我想解析此文件,并在x轴上绘制日期,在y轴上绘制整数。我最近的失败尝试是:
file_name = "data.dat";
fid = fopen(file_name, 'rt');
raw_data = textscan(fid, "%s %d");
fclose(fid);
graphics_toolkit('gnuplot');
plot(raw_data(:, 1), raw_data(:, 2));
图形为空,没有数据可显示。如何正确绘制此类数据?似乎textscan
的输出对于绘制来说有点笨拙。
您无法绘制字符串,必须先将日期字符串转换为日期数字。使用cellfun
有效执行此操作
x=cellfun(@(d) datenum(regexprep(d,'"',''),'YYYY/MM/DD'), raw_data{1});
y=raw_data{2};
plot(x,y)