Wondeful I resolved with this loop on I values (values in accordance with which I define RGB triplets), but not without SS benediction, because hgscat create by default gscatter objects sorted in ascending order regardless of the order of M_Pts(:,i) group markers (numbers).
fMarkFaceCol(I) and fMarkEdgeCol(I) give me the triplet RGB according to the I values
hgscat=gscatter(M_Pts(:,2),M_Pts(:,1),M_Pts(:,i),[],'o',[],'on');
k=1;
for I=1:0.5:11
if k<=length(hgscat)
if ismember(I,M_Pts(:,i))
hgscat(k).MarkerFaceColor=fMarkFaceCol(I);
hgscat(k).MarkerEdgeColor=fMarkEdgeCol(I);
k=k+1;
end
end
end