2015-05-26 227 views
1

是否有一些很好的提示如何在Matlab中繪製有關特定點的實心圓?我找到了正常圈子的解決方案,但我不知道如何填充它。在Matlab中填充半圓

我需要這個,因爲我應該在每一半上用兩種不同顏色的圓圈。這可能嗎?

預先感謝您

回答

1

您可以定義一組多邊形頂點並使用patchfill(整圓)對它們進行繪製。

r = 1; 
phi = 0:0.01:2*pi; 
x = r*cos(phi); 
y = r*sin(phi); 
patch(x,y,'b'); 
axis equal; 

這是比Luis Mendo解決方案多一點的代碼。但是,如果您想要一組多邊形並且想要將所有多邊形視爲相同,它可能會很有用。

編輯 此代碼將給出2個單獨的彩色半圓。

r = 1; 
phi = 0:0.01:pi; 
x = r*cos(phi); x = [x,x(1)]; 
y = r*sin(phi); y = [y,y(1)]; 
patch(x,y,'b'); 
x2 = r*cos(pi+phi); x2 = [x2,x2(1)]; 
y2 = r*sin(pi+phi); y2 = [y2,y2(1)]; 
patch(x2,y2,'r'); 
axis equal; 
+0

這個答案可以很容易地推廣到兩個不同顏色的半圓,就像OP想要的那樣 –

+0

@LuisMendo對,我修正了這一點。 – patrik

+0

現在很好的答案! (+1已經) –

2

要繪製一個實心圓使用rectangle'Curvature'屬性等於[1 1],並且'Facecolor'屬性設置爲所需的填充顏色:

rectangle('Position',[10 10 20 20], 'Curvature',[ 1 1], 'Facecolor','b', 'Edgecolor','k'); 
axis equal 

enter image description here

+2

Matlab是如此的邏輯:一個圓圈是一個四角都是100%圓的正方形! – Bentoy13

+0

是的......我總覺得'矩形'用於繪製圓圈很有趣:-) –