2012-11-08 114 views
1

我有一个数据集绘图重复x值设定在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中的值被视为连续的。任何帮助,高度赞赏。

回答

3

使用一个循环:

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 
0

改革您的数据给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