在matlab中绘制重复x值集

在matlab中绘制重复x值集,matlab,Matlab,我有一个数据集 10 4.567 20 3.287 30 4.990 40 3.333 50 3.889 10 4.566 20 3.001 30 4.990 40 3.331 50 3.886 . . . 20套像这样向下。我想在matlab中绘制,但是绘制会创建水平线,因为x中的值是连续的。非常感谢您的帮助。使用循环: figure(1), clf, hold on for ii = 2:size(data,2) plot(data(:,1), data(:,ii)) end 现

我有一个数据集

10 4.567
20 3.287
30 4.990
40 3.333
50 3.889
10 4.566
20 3.001
30 4.990
40 3.331
50 3.886
.
.
.
20套像这样向下。我想在matlab中绘制,但是绘制会创建水平线,因为x中的值是连续的。非常感谢您的帮助。

使用循环:

figure(1), clf, hold on
for ii = 2:size(data,2)
    plot(data(:,1), data(:,ii))
end
现在,您可能需要添加一些颜色:

colours = {...
    'r--', 'g--', 'b--', 'k--', 'm--', 'c--', ...
    'r.-', 'g.-', 'b.-', 'k.-', 'm.-', 'c.-', ...
    'rs-', 'gs-', 'bs-', 'ks-', 'ms-', 'cs-', ...
    'rt-', 'gt-'});
figure(1), clf, hold on
for ii = 2:size(data,2)
    plot(data(:,1), data(:,ii), colours{ii})
end

改革数据,给出一组x值和多组y值。这假设x值每次都相同

如果有5个值的重复集合(如示例中所示),则在下面的代码中n=5:

d = [10 4.567
20 3.287
30 4.990
40 3.333
50 3.889
10 4.566
20 3.001
30 4.990
40 3.331
50 3.886]

n = 5;
x = d(1:n, 1);
y = reshape(d(:,2),n,[])
plot(x,y) % Plot each set of y values separately