2013-06-03 17 views
2

我用X-Y繪製數據,x表示時間,y表示該點的強度。但是,我想知道是否可以根據第三個值更改標記的類型?基於第三個參數的matlab繪圖標記

我現在正在做以下工作。我希望能夠根據zVector中1-6的值設置標記形狀,因此標記將在整個圖形中發生變化。

dataAdjusted = dlmread('file.csv'); 

xVector = dataAdjusted(:,1) 
yVector = dataAdjusted(:,2) 
zVector = dataAdjusted(:,3) 

figure 
hold on 

plot(xVector, yVector, '-ro','MarkerSize',3, 'MarkerEdgeColor', 'k', 'MarkerFaceColor','k') 

回答

3

下面是一個例子如何實現這一目標的z值是去從1到3 ...

x=rand(1,10); 
y=rand(1,10); 
z=randi(3,1,10); 

plot(x(z==1),y(z==1),'o',... 
    x(z==2),y(z==2),'x',... 
    x(z==3),y(z==3),'s') 

我想你可以看到使用一個for循環很容易就如何一概而論。

編輯 - 這裏有一個for循環實現:

markerlist='sox'; 
colorlist='rgb'; 
for n=1:max(z) 
plot(x(z==n), y(z==n), markerlist(n),'MarkerSize',5, 'MarkerEdgeColor', 'k', 'MarkerFaceColor',colorlist(n)) 
hold on 
end 
hold off 

enter image description here

+0

謝謝你,我無法得到這個與性工作。你對此有何見解? plot(xShort(z == 1),yShort(z == 1),'ms','MarkerSize',3,xShort(z == 2),yShort(z == 2),'kv','MarkerSize ',3,xShort(z == 3),yShort(z == 3),'g +','MarkerSize',3,xShort(z == 4),yShort(z == 4),'bx' 'MarkerSize',3,xShort(z == 5),yShort(z == 5),'ro','MarkerSize',3) – user2041602

+0

請參閱我的編輯.... – bla

相關問題