在简单的xy图中连接最终点和初始点(绘制闭合曲线/多边形)

Pau*_*hoi 6 graphics matlab plot 2d matlab-figure

比方说,我有......

x = [1 1 2 2];
y = [1 2 2 1];
plot(x, y, 'b-');
Run Code Online (Sandbox Code Playgroud)

我将得到一个连接点(1,1),(1,2)和(2,2)的线图.有没有办法将最后一点与第一点连接起来,从而完成情节上的方块?

我也用点数拉出文本行,所以简单地添加另一个点1,1不是一个选项.

And*_*ein 10

impoly 但是,它会产生一条比曲线慢的可修改曲线.

您可以为此编写一个简单的函数:

function plotc(x,y,varargin)  
    x = [x(:) ; x(1)];   
    y = [y(:) ; y(1)];  
    plot(x,y,varargin{:})  
end
Run Code Online (Sandbox Code Playgroud)

顺便说一句,(:)冒号运算符用作防御性编程手段.以这种方式,x并且y可以是行或列向量.

varargin允许使用额外的参数,如:

 plotc(x,y,'Color','r');
 plotc(x,y,'Parent',a,'LineWidth',2);
Run Code Online (Sandbox Code Playgroud)