在 Matlab 中填充半圆
filled semicircle in Matlab
关于如何在 Matlab 中绘制关于特定点的实心圆,有什么好的技巧吗?我找到了正常圆的解决方案,但我不知道如何填充它。
我需要这个,因为我应该在它的每一半上有两种不同颜色的圆圈。这可能吗?
提前致谢
要绘制实心圆,请使用 rectangle
,其中 'Curvature'
属性 等于 [1 1]
,并将 'Facecolor'
属性 设置为所需的填充颜色:
rectangle('Position',[10 10 20 20], 'Curvature',[ 1 1], 'Facecolor','b', 'Edgecolor','k');
axis equal
您可以定义一组多边形顶点并用 patch
或 fill
(整圈)绘制它们。
r = 1;
phi = 0:0.01:2*pi;
x = r*cos(phi);
y = r*sin(phi);
patch(x,y,'b');
axis equal;
这比 的解决方案多了一些代码。但如果您想要一组多边形并且希望对所有多边形都一视同仁,它可能会很有用。
编辑
此代码将给出 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;
关于如何在 Matlab 中绘制关于特定点的实心圆,有什么好的技巧吗?我找到了正常圆的解决方案,但我不知道如何填充它。
我需要这个,因为我应该在它的每一半上有两种不同颜色的圆圈。这可能吗?
提前致谢
要绘制实心圆,请使用 rectangle
,其中 'Curvature'
属性 等于 [1 1]
,并将 'Facecolor'
属性 设置为所需的填充颜色:
rectangle('Position',[10 10 20 20], 'Curvature',[ 1 1], 'Facecolor','b', 'Edgecolor','k');
axis equal
您可以定义一组多边形顶点并用 patch
或 fill
(整圈)绘制它们。
r = 1;
phi = 0:0.01:2*pi;
x = r*cos(phi);
y = r*sin(phi);
patch(x,y,'b');
axis equal;
这比
编辑 此代码将给出 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;