【问题标题】:Setting an Hourly x-Axis to plot Accumarray in Matlab设置每小时 x 轴以在 Matlab 中绘制 Accumarray
【发布时间】:2015-02-26 18:25:53
【问题描述】:

在 matlab 中,我使用 accumarray() 创建了一个包含 3 列整数的新向量。第 1 列:日期(只是日期);第2栏:小时;第 3 列:样本值。

19.0000    9.0000   25.6937
19.0000   10.0000   30.2616
19.0000   11.0000   32.2840
19.0000   12.0000   28.4867
19.0000   14.0000   35.4055
19.0000   16.0000   48.3377

现在我绘制图表的代码涉及以下内容;

xdate = datenum(year,month,day,hourVector,minutes,seconds);

plot(xdate,sampleValue,'-x','MarkerSize',10)

datetick('x','ddd HHPM')

我很难找到一种方法,其中 x 轴每小时(或 2 小时)标记一次。谢谢

【问题讨论】:

    标签: matlab graph plot accumarray


    【解决方案1】:

    我猜你只是想让 x 刻度间隔 1 小时,而与数据间隔无关?从您的示例中,我看不到您必须每小时有一个数据点。

    如果我的理解正确,请尝试替换

    datetick('x','ddd HHPM')
    

    以下内容:

    hr_step = 0.0417; % increasing datenum by this amount will advance date by 1 hour
    tick_xdate = min(xdate):hr_step:max(xdate);
    set(gca,'XTick',tick_xdate)
    datetick('x','ddd HHPM','keepticks') % 'keepticks' option forces the use of tick_xdate
    

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 2013-10-05
      • 2013-07-09
      • 2021-10-04
      • 1970-01-01
      • 2020-07-31
      • 2021-11-05
      • 2021-08-20
      • 2011-10-21
      相关资源
      最近更新 更多