annotate private/scatc.m @ 18:062d46712995 tip

Moved mc_global_info1 back to public folder
author samer
date Mon, 02 Apr 2012 21:50:43 +0100
parents be936975f254
children
rev   line source
samer@0 1 function h=scatc(x,C,S,varargin)
samer@0 2 % scatc - 2 or 3D scatter plot with colours and sizes
samer@0 3 %
samer@0 4 % scatc :: [[N,E]] ~'N points in E space', [[N]]~'colours' -> handle.
samer@0 5 % scatc ::
samer@0 6 % [[N,E]] ~'N points in E space',
samer@0 7 % [[N]] ~'colours',
samer@0 8 % [[N]] | real ~'array of sizes or single marker size'
samer@0 9 % -> handle.
samer@0 10 %
samer@0 11 % If E<3, does 2D scatter, otherwise, does 3D scatter plot.
samer@0 12 % Draws filled circles.
samer@0 13
samer@0 14 if size(x,2)<=4 && size(x,1)>4, x=x'; end
samer@0 15 if nargin<3 || isempty(S),
samer@0 16 % use default marker size
samer@0 17 S=get(gca,'DefaultLineMarkerSize').^2;
samer@0 18 elseif length(S)==1,
samer@0 19 S=S*ones(size(x,2),1);
samer@0 20 end
samer@0 21
samer@0 22 if size(x,1)<3,
samer@0 23 h=scatter(x(1,:),x(2,:),S,C);
samer@0 24 else
samer@0 25 h=scatter3(x(1,:),x(2,:),x(3,:),S,C);
samer@0 26 end
samer@0 27
samer@0 28 set(h, ...
samer@0 29 'MarkerFaceColor','flat', ...
samer@0 30 'MarkerEdgeColor','k', ...
samer@0 31 'LineWidth',0.2, ...
samer@0 32 varargin{:});
samer@0 33
samer@0 34 axis equal;
samer@0 35 if size(x,1)>2
samer@0 36 axis vis3d;
samer@0 37 axis off;
samer@0 38 set(gca,'DrawMode','fast');
samer@0 39 set(gca,'Projection','perspective');
samer@0 40 else
samer@0 41 box on;
samer@0 42 % axis off;
samer@0 43 end