Matlab - 在gscatter中使用符号

时间:2015-06-10 14:45:17

标签: colors symbols marker scatter

好的,所以我正在尝试使用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乘1矢量,就像lincol和linsym一样。但是,它给了我一个错误:

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

有人可以帮忙吗?这是一个非常愚蠢的问题。

1 个答案:

答案 0 :(得分:1)

吕克

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

问候。

Jonay