比如说,我有...
x = [1 1 2 2];
y = [1 2 2 1];
plot(x, y, 'b-');
我将得到一个连接点 (1,1)、(1,2) 和 (2,2) 的线的图。有什么办法可以将最后一点与第一个点连接起来,从而完成情节上的正方形?
我也在用点拉入文本行,所以简单地添加另一个点 1,1 不是一种选择。
比如说,我有...
x = [1 1 2 2];
y = [1 2 2 1];
plot(x, y, 'b-');
我将得到一个连接点 (1,1)、(1,2) 和 (2,2) 的线的图。有什么办法可以将最后一点与第一个点连接起来,从而完成情节上的正方形?
我也在用点拉入文本行,所以简单地添加另一个点 1,1 不是一种选择。
impoly
可能很有用,但是,它会创建一条比 plot 慢的可修改曲线。
您可以为此编写一个简单的函数:
function plotc(x,y,varargin)
x = [x(:) ; x(1)];
y = [y(:) ; y(1)];
plot(x,y,varargin{:})
end
顺便说一句,(:)
冒号运算符被用作防御性编程手段。这样,x
和y
可以是行向量或列向量。
varargin
允许使用其他参数,例如:
plotc(x,y,'Color','r');
plotc(x,y,'Parent',a,'LineWidth',2);
除非您的最后一点和最后一点相同,plot
否则不会知道您想要一条闭合曲线。因此,要么在列表中添加一个额外的点以进行绘图,要么尝试使用,例如rectangle
.
你有图像处理工具箱吗?如是,
impoly(hparent, position, 'Closed')
可能对你有用。