MATLAB:绘制时间表矩阵

MATLAB: plot timetable matrix

我想绘制时间表的所有列。例如,假设我有一个包含两列的时间表。

time = datetime({'2017-11-15'; '2017-11-18'; '2017-11-19'});
col1 = [NaN;4;5];
col2 = [7;6;4];
tt = timetable(time, col1, col2);

如何绘制所有柱状图(折线图)?

让我补充三点:

  1. 我事先不知道栏目标题。
  2. 提前不知道列数
  3. 第一列可能不一定是最长的列(参见 NaN)。

看看varfun:

>> ax = axes('NextPlot','add');
>> varfun(@(v) plot(ax,tt.time, v), tt)

还有一个更简单的版本。 :-)

plot(tt.time, tt.Variables);

值得一提的是,从版本 R2018b 开始,stackedplot 函数使这变得容易得多:

stackedplot(tt)