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);
如何绘制所有柱状图(折线图)?
让我补充三点:
- 我事先不知道栏目标题。
- 提前不知道列数
- 第一列可能不一定是最长的列(参见 NaN)。
看看varfun:
>> ax = axes('NextPlot','add');
>> varfun(@(v) plot(ax,tt.time, v), tt)
还有一个更简单的版本。 :-)
plot(tt.time, tt.Variables);
值得一提的是,从版本 R2018b 开始,stackedplot
函数使这变得容易得多:
stackedplot(tt)
我想绘制时间表的所有列。例如,假设我有一个包含两列的时间表。
time = datetime({'2017-11-15'; '2017-11-18'; '2017-11-19'});
col1 = [NaN;4;5];
col2 = [7;6;4];
tt = timetable(time, col1, col2);
如何绘制所有柱状图(折线图)?
让我补充三点:
- 我事先不知道栏目标题。
- 提前不知道列数
- 第一列可能不一定是最长的列(参见 NaN)。
看看varfun:
>> ax = axes('NextPlot','add');
>> varfun(@(v) plot(ax,tt.time, v), tt)
还有一个更简单的版本。 :-)
plot(tt.time, tt.Variables);
值得一提的是,从版本 R2018b 开始,stackedplot
函数使这变得容易得多:
stackedplot(tt)