2010-10-01 245 views

回答

6

MATLAB plot文檔是非常全面的。

LineSpec屬性列出不同風格的線條,顏色和點的語法。

如果您需要更多選項,請參閱LineSeries Properties。 您可以指定屬性,例如Marker(樣式),MarkerEdgeColor,MarkerFaceColorMarkerSize

如果您想偏離rgbcmykw,也可以使用RGB triplets來定義顏色。

實例:

劇情的單個點(3,4)與橙色五角星標記:

p=[3,4]; 
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20) 

標繪點的綠色的 'O' 標記的數組:

p=round(10*rand(2,10)); 
plot(p(1,:),p(2,:),'go') 

編輯:如果您已將所有積分存儲爲p1=[x1,y1],p2=[x2,y2]等,請嘗試將它們重新組織爲首先是2xN矩陣。要麼重新生成點,或者如果你已經得到了他們作爲單一雙,用

p=[p1;p2;p3]'; %# the [;] notation vertically concatenates into Nx2, 
       %# and the ' transposes to a 2xN 
plot(p(1,:),p(2,:),'go') 

或者,如果你有一噸的存儲單點對,說的最多P1000左右,你可以使用使用evalcringe)。

p=[]; %# initialize p 
for n=1:nPoints %# if you've got 1000 points, nPairs should be 1000 
eval(['p(:,n)=p',num2str(n)],''); %#executes p(:,n)=pn' for each nPoint 
end 
+0

但我想顯示所有點,即p1,p2,p3 .....在image.this只顯示一個點:o – chee 2010-10-06 17:26:10

+0

您是否將各個點存儲爲'p1 =(x1,y1)','p2 =( x2,y2)'等等?不要這樣做。 MATLAB用於處理矩陣。將你的點存儲在一個2×N的矩陣中,並在我的答案中使用積分點陣選項。 – Doresoom 2010-10-06 17:50:43

+0

如果它解決了您的問題,請隨時上傳我的答案。 – Doresoom 2010-10-08 19:13:04

4

你可以用情節:

plot(p1(1), p1(2), 'ko'); % Small circle point in black. 
plot(p1(1), p1(2), 'r.'); % Small dot in red. 
+6

不要忘記首先抓住圖像。 – emrea 2010-10-04 00:03:27

+0

但我想要顯示圖像上的所有點i-e p1,p2,p3 ..... – chee 2010-10-06 17:25:35

3

使用圖像,堅持和繪圖。

base_points = [142.3125,93.4375; 169.4375,176.0625]; 
image(fixed); colormap(gray(256)); axis image; 
hold on; 
plot(base_points(:,1),base_points(:,2),'go'); 
+0

upvote for'hold on' – zhangxaochen 2016-12-06 09:09:14