MATLAB用于遍历列以绘制多条线

时间:2018-10-16 19:14:47

标签: matlab for-loop plot multiple-columns

我再次需要您的帮助:)。我正在尝试为一个非常大的数据集绘制多条线。首先,我对数据集进行了划分,以在Matlab中获得一个TABLE,该TABLE包含6列,第一列表示我希望在x轴上显示的日期。现在,我想使用for循环在y轴上绘制其他列(并且在原始文件中超过6列)。我尝试了以下方法,但没有成功:

hold on
for i=2:1:6
  plot(Doldenstock(:,1), Doldenstock(:,i));
end
hold off

据我了解,此代码将完全满足我对第2、3、4、5、6列的要求。但是,我总是得到相同的错误代码:

使用表格/图表时出错 输入参数过多。

Plotting_bogeo错误(第6行)   plot(Doldenstock(:,1),Doldenstock(:,i));

现在,我不知道这样的循环是否不适用于Tabes,而仅适用于数组?

谢谢您的帮助!

干杯, 塔玛拉

1 个答案:

答案 0 :(得分:2)

函数plot(x)期望x为标量,向量或矩阵。但是在您的情况下,输入是一个表,因为使用括号访问表会返回一个表,这不受支持。

如果您阅读doc "how to access data in a table",将会发现需要使用花括号{}来提取原始数据(在您的情况下为一维矩阵)。

因此使用:

plot(T{:,1},T{:,2})