【问题标题】:Plot date on x-axis in Octave在 Octave 的 x 轴上绘制日期
【发布时间】:2015-08-16 10:38:51
【问题描述】:

我正在尝试在 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

我想用 x 轴上第一列的日期时间绘制数据集的第二和第三列。我用谷歌搜索了这个看似简单的问题,但找不到明确的答案:(

我尝试过使用 datetick(在阅读 this link 之后)。我也试图摆弄 strptime,但都无济于事。

感谢您的帮助!

【问题讨论】:

    标签: matlab date datetime plot octave


    【解决方案1】:
    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");
    

    【讨论】:

      【解决方案2】:

      以下代码首先根据日期绘制两个数据集:

      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;
      

      【讨论】:

      • 当我在 Octave 中尝试此操作时,我收到以下错误 error: 'datetime' undefined near line column .
      猜你喜欢
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 2021-11-05
      • 1970-01-01
      相关资源
      最近更新 更多