绘制散点图Octave

时间:2013-11-16 01:14:22

标签: matlab octave scatter-plot

我有2个数据集和一行:

例如:

dt1X = [1:30];
dt1Y = [1:30];

dt2X = [1:30];
dt2Y = [0.5:0.5:15.0];

line = [2 1]; % y= 2 + x;

我想用不同颜色在同一图表中绘制这两个数据集和行。我该怎么做?

我尝试使用下面的行来更改颜色,但是它给出了此错误:数组属性“cdata”的值无效

hold on;
scatter(dt1X,dt1Y,[],"r"); %this line give error
scatter(dt2X,dt2Y,[],"g");
hold off;

修改

    hold on;
    scatter(dt1X,dt1Y,[],[],"r");
    scatter(dt1X,dt1Y,[],[],"g");
    hold off;

结果:没有错误,但两个数据集都用蓝点绘制......

使用“r”和“r”在两种情况下都没有改变任何一样。

2 个答案:

答案 0 :(得分:0)

要清除图形,请先添加

clf

hold on;
scatter(dt1X,dt1Y,[],[],"r");
scatter(dt1X,dt1Y,[],[],"g");
hold off;

然后你会看到没有画出任何东西。所以用

替换这些行
hold on;
scatter(dt1X,dt1Y,"r");
scatter(dt1X,dt1Y,"g");
hold off;

答案 1 :(得分:0)

我也会像这样重新安排你的代码:

dt1X = [1:30];
dt1Y = dt1X;

line = [2 1]; % y= 2 + x;

dt2X = dt1X;
dt2Y = line(1) + (line(2) * dt2X); % y= 2 + x;

clf
hold on
plot(dt1X,dt1Y,'r');
plot(dt2X,dt2Y,'g');