我有一个数据集
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 中的值被视为连续的。非常感谢任何帮助。
我有一个数据集
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