matlab中填充的半圆

时间:2015-05-26 05:57:45

标签: matlab plot geometry matlab-figure

是否有一些很好的提示如何在Matlab中绘制关于特定点的实心圆?我已找到正常圆的解决方案,但我不知道如何填充它。

我需要这个,因为我应该在每一半都有两种不同颜色的圆圈。这可能吗?

提前谢谢

2 个答案:

答案 0 :(得分:2)

要绘制实心圆圈,请使用'Curvature'属性等于[1 1]的{​​{3}},并将'Facecolor'属性设置为所需的填充颜色:

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

enter image description here

答案 1 :(得分: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;