绘图线和 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)
形式
我正在尝试使用下面的代码绘制一个多边形和一条线,但该线不是从 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)
形式