2015-10-16 50 views
0

我有此矩陣是準備在「Matlab的」被繪製與scatter3,如果下面的命令用來創建在Matlab三維散射和連接散亂點的基團,與彩色線條

scatter3( F(:[1]),F(:[2]),F(:[3]),F(:[4]),F(:[5]))

(我基本上是將5個列向量中的F矩陣分開)

F = 

    52.5000 12.6000 288.0000 20.0000 1.0000 
    52.5000 6.3000 408.0000 20.0000 1.0000 
    52.5000 4.8000 467.0000 20.0000 1.0000 
    52.5000 3.5000 559.0000 20.0000 1.0000 
    52.5000 2.0000 730.0000 20.0000 1.0000 
    52.5000 1.3000 902.0000 20.0000 1.0000 
    26.2500 12.6000 203.0000 20.0000 2.0000 
    26.2500 6.3000 288.0000 20.0000 2.0000 
    26.2500 4.8000 332.0000 20.0000 2.0000 
    26.2500 3.5000 389.0000 20.0000 2.0000 
    26.2500 2.0000 516.0000 20.0000 2.0000 
    26.2500 1.3000 637.0000 20.0000 2.0000 
    10.0000 12.6000 125.0000 20.0000 3.0000 
    10.0000 6.3000 177.0000 20.0000 3.0000 
    10.0000 4.8000 204.0000 20.0000 3.0000 
    10.0000 3.5000 240.0000 20.0000 3.0000 
    10.0000 2.0000 318.0000 20.0000 3.0000 
    10.0000 1.3000 392.0000 20.0000 3.0000 
    5.0000 12.6000 88.0000 20.0000 4.0000 
    5.0000 6.3000 125.0000 20.0000 4.0000 
    5.0000 4.8000 144.0000 20.0000 4.0000 
    5.0000 3.5000 169.0000 20.0000 4.0000 
    5.0000 2.0000 224.0000 20.0000 4.0000 
    5.0000 1.3000 277.0000 20.0000 4.0000 
    2.0000 12.6000 55.0000 20.0000 5.0000 
    2.0000 6.3000 78.0000 20.0000 5.0000 
    2.0000 4.8000 90.0000 20.0000 5.0000 
    2.0000 3.5000 106.0000 20.0000 5.0000 
    2.0000 2.0000 141.0000 20.0000 5.0000 
    2.0000 1.3000 175.0000 20.0000 5.0000 
    1.0000 6.3000 55.0000 20.0000 6.0000 
    1.0000 4.8000 63.0000 20.0000 6.0000 
    1.0000 3.5000 75.0000 20.0000 6.0000 
    1.0000 2.0000 99.0000 20.0000 6.0000 
    1.0000 1.3000 123.0000 20.0000 6.0000 
    0.5000 6.3000 38.0000 20.0000 7.0000 
    0.5000 4.8000 44.0000 20.0000 7.0000 
    0.5000 3.5000 52.0000 20.0000 7.0000 
    0.5000 2.0000 70.0000 20.0000 7.0000 
    0.5000 1.3000 86.0000 20.0000 7.0000 

如果您繪製這個,你會看到點在7個相同顏色的團體分組(從˚F矩陣的5列取)。

我想繪製連接相同顏色的點線。當然,這些線條應該與它們連接的點具有相同的顏色。

我試圖分裂˚F矩陣在五個引腳6x5矩陣(命名F1 - F5)和2 5×5矩陣(命名F6F7),並使用與line()命令一起scatter3()hold on來創建我的3D圖形,但它沒有做我想要的。

對於每一個新的點集被繪製與scatter3()套已經繪製的變色點。因此,在line()函數中分配短名稱顏色無濟於事。

我有什麼選擇?也許scatter3不是在這種情況下使用的最佳功能?

編輯

plot3()是有希望的,但有一個色組有限的。事實上,我寧願避免使用顏色「白色」和「黃色」,它們在白色背景上顯示不出色。

+2

怎麼樣'plot3'一些標記選項? –

+0

@AnderBiguri你好。你能看到我的問題中的編輯嗎? – nass

+0

@AnderBiguri從頭開始。它似乎與'MarkerFaceColour''一起工作。並使用RGB向量來表示顏色。添加plot3作爲答案 - 也許用一個示例使用。 – nass

回答

3

所以,我會假設你要你的矩陣分成7,在這種情況下,然後將其保存在一個單元陣列dynamic variables are BAD! 假設你有一個單元陣列稱爲F這個工程:

C=hsv(7); 
hold on 
for ii=1:size(F,2) 
    % //plot lines 
    plot3(F{ii}(:,1),F{ii}(:,2),F{ii}(:,3),'Color',C(ii,:)); 
    % // plot points 
    plot3(F{ii}(:,1),F{ii}(:,2),F{ii}(:,3),'.','MarkerSize',F{ii}(1,4),'Color',C(ii,:)); 
end 

enter image description here

它唯一的問題是,它沒有允許多個標誌的大小,所以如果你想點有不同的標記大小,你需要添加另一個循環,並逐一繪製點。我希望大家都能夠從這裏得到它;)

+0

這對我的情況來說更適合:) – nass

+1

是的! 「樹漂亮,火不好!」 - >「MATLAB漂亮,動態變量名稱不好!」 – Adriaan