Code covered by the BSD License  

Highlights from
Estimating the number of clusters via System Evolution

from Estimating the number of clusters via System Evolution by Kaijun Wang
estimate number of clusters for far clusters, small-larger clusters, slightly overlapping clusters

show2dim_byclass(davec,clas,id)
function show2dim_byclass(davec,clas,id)
% showing 2-dimensional data in X-Y space

nk=max(clas); 
divc=cell(1,nk);
pt=0;

for i=1:nk
    d=find(clas==i);
    divc{i}=d;
end

if nargin==3
  if strcmp(id,'bk')
      symb=['k.';'ks';'k+';'ko';'k*';'k^';'k.';'k+';'ko';'k*';'ks';'k.';...
          'k.';'k+';'ko';'k*';'ks';'k.';'k.';'k+';'ko';'k*';'ks';'k.'];
  elseif strcmp(id,'co')
      symb=['b.';'r.';'m.';'k.';'g.';'c.';'b+';'r+';'m+';'k+';'g+';'c+';...
          'bo';'ro';'mo';'ko';'go';'co';'b^';'r^';'m^';'k^';'g^';'c^'];
  elseif strcmp(id,'nb')
      pt=1;
  else
      symb=[id;id;id;id;id;id;id;id;id;id;id;id;id;id;id;id;id;id]; 
  end
else
  symb=['k.';'m.';'b.';'g.';'c.';'y.';'k+';'m+';'b+';'g+';'c+';'y+';...
      'ko';'mo';'bo';'go';'co';'yo';'k^';'m^';'b^';'g^';'c^';'y^'];
end

%title('plot 2-dimensional data');
for i=1:nk
    d=divc{i};
    vh=max(davec);     
    vp=min(davec);
    if i==1 
      h1=vh(1); h2=vh(2); 
      p1=vp(1); p2=vp(2);       
    end
    if vh(1)>h1 
        h1=vh(1); 
    end
    if vh(2)<h2 
        h2=vh(2); 
    end
    if vp(1)>p1 
        p1=vp(1); 
    end
    if vp(2)<p2 
        p2=vp(2); 
    end
    
  if pt 
     plot(davec(d,1),davec(d,2),'y.');
     text(davec(d,1),davec(d,2),['\fontsize{10}' int2str(i)]);
  elseif size(davec,2) > 2
     plot3(davec(d,1),davec(d,2),davec(d,3),symb(mod(i-1,24)+1,:)); 
   else
     plot(davec(d,1),davec(d,2),symb(mod(i-1,24)+1,:)); 
  end
    hold on;
end
box on;

Contact us at files@mathworks.com