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 个参数:x
、y
和 group
。似乎 group
不见了。
此外 color
和 sym
的定义可能是错误的。尝试 col = 'kkkkkkkk';
而不是 lincol = {'k';'k';'k';'k';'k';'k';'k';'k'};
。
希望对您有所帮助。
此致。
乔妮
好的,所以我正在尝试使用 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 个参数:x
、y
和 group
。似乎 group
不见了。
此外 color
和 sym
的定义可能是错误的。尝试 col = 'kkkkkkkk';
而不是 lincol = {'k';'k';'k';'k';'k';'k';'k';'k'};
。
希望对您有所帮助。
此致。
乔妮