创建线对象 - 矩阵与矢量输入

Create line object - Matrix vs. vector input

为什么有区别

figure;
process = {'process' , [0.2500 0.5000], [0.6 0.8];
           'process2', [0.1250 0.2500], [0.2 0.6];
           'process3', [0.3125 0.2500], [0.4 0.6];
           'process4', [0.2500 0.3125], [0.2 0.4];
           'process5', [0.3750 0.3125], [0.2 0.4];
           'process5', [0.5625 0.5000], [0.6 0.8];};  
L=line(cell2mat(process(:,2)), cell2mat(process(:,3)));

figure;
process = {'process' , [0.2500 0.5000], [0.6 0.8];
           'process2', [0.1250 0.2500], [0.2 0.6];
           'process3', [0.3125 0.2500], [0.4 0.6];
           'process4', [0.2500 0.3125], [0.2 0.4];
           'process5', [0.3750 0.3125], [0.2 0.4];
           'process5', [0.5625 0.5000], [0.6 0.8];};
hold on
L=line(cell2mat(process(1,2)), cell2mat(process(1,3)));
L=line(cell2mat(process(2,2)), cell2mat(process(2,3)));
L=line(cell2mat(process(3,2)), cell2mat(process(3,3)));
L=line(cell2mat(process(4,2)), cell2mat(process(4,3)));
L=line(cell2mat(process(5,2)), cell2mat(process(5,3)));
L=line(cell2mat(process(6,2)), cell2mat(process(6,3)));

?

有没有一种方法可以让我将第一个版本(= 仅使用一次 line 函数)与第二个版本的结果一起使用?

根据 line 的文档:

line(X,Y) adds the line defined in vectors X and Y to the
current axes. If X and Y are matrices of the same size, line
draws one line per column.

所以你想要,

line(cell2mat(process(:,2))', cell2mat(process(:,3))');