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矩阵,但它不起作用。