我有一個矩陣,看起來像這樣:繪圖與色彩對應的標記
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