在Matlab中,我有以下形式的数据:
我想做什么: 将残差与 datestamp 绘制为标签。观察结果并非来自连续的天数(即可能存在一些缺口,天之间没有观察结果),有些日子的观察结果比其他日子更多。每次观察我都不能有一个标签,因为标签太多了。所以我需要以某种方式将它们分组,无论是白天还是月份。也就是说,仅显示当天所有观察结果中的月份和日期(例如10/3),或仅显示该月所有观察结果下的月份(例如3)。我怎么能用我拥有的数据呢?
答案 0 :(得分:3)
你应该能够在没有'分组'的情况下绘制它。如果您将日期转换为时间戳:
timestamps = cellfun(@(date)datenum(date), dates);
然后你可以做一个正常的情节:
plot(timestamps, z);
和Matlab将处理xaxis标签本身(即它将在日期的时间范围内均匀分布),但它们将是时间戳数字。要在xaxis上获取格式化日期,请使用:
datetick('x');