2015-05-26 185 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

是的......我总觉得'矩形'用于绘制圆圈很有趣:-) –