绘图线和 polyshape - Matlab

Plot line and polyshape - Matlab

我正在尝试使用下面的代码绘制一个多边形和一条线,但该线不是从 0、0 开始的。知道为什么吗?

代码:

close all;
clear;
clc;

xLine(1) = 0;
yLine(1) = 0;
xLine(2) = -2;
yLine(2) = -2; 
lineseg = [xLine(1), yLine(1); xLine(2), yLine(2)];

P = [0 0; 1 1; 1 0; 0 1; 0 0];
pgon = polyshape(P) 

plot(lineseg);
hold on;
plot(pgon);

来自 plot

的文档

plot(Y) creates a 2-D line plot of the data in Y versus the index of each value.

[...]

If Y is a matrix, then the plot function plots the columns of Y versus their row number. The x-axis scale ranges from 1 to the number of rows in Y.

因此,您根据每行中的值绘制行号 ([1 2]),在本例中为两次,但 lineseg 的列是等效的,因此您看不到。

您可能想改用

plot( lineseg(:,1), lineseg(:,2) );

即使用 plot 函数

plot(X,Y) 形式