Matlab - 在 gscatter 中使用符号

Matlab - Using symbols in gscatter

好的,所以我正在尝试使用 gscatter 在图中绘制 8 个不同的点。这8个点都是不同的,因此我想给他们不同的符号。我知道 gscatter 会自动为它们分配不同的颜色,但我也希望能够使用黑白图形。我写了下面的代码:

lincol = {'k';'k';'k';'k';'k';'k';'k';'k'};
linsym = {'+';'o';'*';'.';'x';'s';'d';'^'};
limits = [-1 1 -1 1];

close all

for i = 1:3;
figure(i); hold on
gscatter(RfootXdistpertRel(:,i),RfootYdistpertRel(:,i),lincol,linsym);
legend('Pert1', 'Pert2', 'Pert3', 'Pert4', 'Pert5', 'Pert6', 'Pert7', 'Pert8')
hline(0);
vline(0);
axis(limits);

end

根据matlab的语法,我应该可以这样指定颜色和标记符号(gscatter(x,y,col,sym))。使用的变量是 8 x 1 向量,就像 lincol 和 linsym 一样。但是,它给了我一个错误:

Error using plot
Color value must be a 3 or 4 element vector

有人能帮忙吗?这真是一个愚蠢的问题。

吕克

您的代码似乎有一些错误。 gscatter 的语法至少应包含 3 个参数:xygroup。似乎 group 不见了。 此外 colorsym 的定义可能是错误的。尝试 col = 'kkkkkkkk'; 而不是 lincol = {'k';'k';'k';'k';'k';'k';'k';'k'};。 希望对您有所帮助。

此致。

乔妮