我正在尝试在Octave的x轴上创建格式正确的日期时间,但无法使其工作。
我的数据看起来像这样(=默认日期时间格式31 'yyyy-mm-dd HH:MM:SS')
2015-05-29 20:30:23, 100, 10
2015-05-29 21:00:23, 94, 25
2015-05-29 21:30:23, 92, 30
或自启动纪元(1970-1-1)以来的秒数
1432917023, 100, 10
1432918823, 94, 25
1432920623, 92, 30
我想绘制数据集的第2列和第3列,以及x轴上第一列的日期时间。我已经四处搜索,无法找到这个看似简单问题的明确答案:(
我尝试过使用datetick(阅读this link后)。我也试图摆弄strptime,但都无济于事。
感谢您的帮助!
答案 0 :(得分:0)
logs = [1432917023,100, 10;
1432918823, 94, 25;
1432920623, 92, 30];
# time_t / (24*60*60) = datenum() -719529.375
# convert datenum() from time_t
logs(:,1) = logs(:,1) / (24*60*60) + 719529.375;
plot (logs(:,1), logs(:,2))
plot (logs(:,1), logs(:,3))
datetick('x', "%H:%M");
答案 1 :(得分:-1)
以下代码首先根据日期绘制两个数据集:
dates = [datetime('2015-05-29 20:30:23'),
datetime('2015-05-29 21:00:23'),
datetime('2015-05-29 21:30:23')];
data = [100, 10;
94, 25;
92, 30];
hold on;
plot(dates, data(:,1), 'rd-');
plot(dates, data(:,2), 'bo-');
hold off;