Plot 使用与标签对应的颜色打印

Plot 使用与标签对应的颜色打印,plot,octave,Plot,Octave,我有一个矩阵,看起来像这样: 0.3234 0.5432 0.0283 0.432 0.1234 0.4562 ... 1 3 1 2 ... 还有一个向量,它包含矩阵中每一行的值,如下所示: 0.3234 0.5432 0.0283 0.432 0.1234 0.4562 ... 1 3 1 2 ... 我已经知道如何绘制我的点地图: plot(data(:,1), data(:,2), '.'), axis([0 1 0 1]); 我现在想做的是更进一步:我希望我的绘图中的每个点都

我有一个矩阵,看起来像这样:

0.3234 0.5432
0.0283 0.432
0.1234 0.4562
...
1
3
1
2
...
还有一个向量,它包含矩阵中每一行的值,如下所示:

0.3234 0.5432
0.0283 0.432
0.1234 0.4562
...
1
3
1
2
...
我已经知道如何绘制我的点地图:

plot(data(:,1), data(:,2), '.'), axis([0 1 0 1]);
我现在想做的是更进一步:我希望我的绘图中的每个点都以不同的颜色绘制,这取决于包含矩阵中每条线信息的向量,例如:

  • 向量中的第一个条目为1,[0.3234 0.5432]处的点应为红色
  • 向量中的第二个条目为3,[0.0283 0.432]处的点应为蓝色
我该怎么做

编辑: 这就是我现在所拥有的(我现在使用四个标签,但三个标签也不起作用):

我得到一个错误:

error: invalid value for array property "facevertexcdata"
error: called from:
error:   /usr/share/octave/3.8.1/m/plot/draw/private/__scatter__.m at line 177, column 11
error:   /usr/share/octave/3.8.1/m/plot/draw/scatter.m at line 86, column 10
error:   /home/bryan/octave/test.m at line 64, column 1
对“点贴图”使用散射: 编辑:我已经更新了我的示例以使用更多颜色

d = [0.3234 0.5432
     0.0283 0.432
     0.1234 0.4562
     0.4 0.5
     0.3 0.46
     0.2 0.5];

v= [1;3;1;2;5;4];

c = [1 0 0   #red     (index 1)
     0 1 0   #green   (index 2)
     0 0 1   #blue    (index 3)
     1 1 0   #yellow  (index 4)
     1 0 1]; #magenta (index 5)

scatter (d(:,1), d(:,2), 8, c(v, :), "filled")
grid on
print ("out.png")


d是你的数据,我加了一条线来显示一个蓝点,v是你的“值向量”,c是一个彩色地图,你的颜色需要是nx3 RGB矩阵。我又加了一些颜色

谢谢你的帮助!我编辑了起始帖子以显示我遇到的错误类型。问题:我看到颜色是从c的输入组合中选择的。我怎样才能使用更多的颜色呢?c列是红色、绿色、蓝色的值。可以在添加更多列时手动添加更多颜色,也可以使用预定义的颜色映射之一。在我的例子中,c是一个包含RGB颜色的矩阵,因此有3列表示红色、绿色、蓝色。在上面的代码中,您为c创建了一个4x4矩阵,但它不起作用。