我有一个矩阵,看起来像这样:绘图与色彩对应的标记
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]);
我想现在要做的是更进一步:我希望每个点在m以不同的颜色来绘制Y图表,这取决于包含的信息对矩阵中的每行的载体,例如:
- 在载体中的第一项是1,在该点[0.3234 0.5432]应红
- 在载体中的第二项是3,在[0.0283 0.432]点应为蓝色
- ...
我该怎么办呢?
编辑: 这是我现在(我用四个标签,现在,但它也没有具有三个工作):
labels = csvread('labels.txt');
c = [1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1];
scatter (data(:,1), data(:,2), 8, c(labels, :), "filled");
grid on
print ("out.png")
而且我得到这个错误:
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
在我的例子中,c是一个保存RGB颜色的矩阵,因此有3列红,绿,蓝。在你的代码中,你为c做了一个4×4的矩阵,这是行不通的。 – Andy 2014-09-12 14:40:45