好的,所以我正在尝试使用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
有人可以帮忙吗?这是一个非常愚蠢的问题。
答案 0 :(得分:1)
吕克
您的代码中似乎有一些错误。 gscatter的语法应包含至少3个参数:x
,y
和group
。似乎缺少group
。
此外,color
和sym
的定义可能是错误的。请尝试col = 'kkkkkkkk';
而不是lincol = {'k';'k';'k';'k';'k';'k';'k';'k'};
。
我希望这会有所帮助。
问候。
Jonay