Skip to content

Instantly share code, notes, and snippets.

@karthikraman
Created June 8, 2015 08:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karthikraman/311e1c1b5fc00be3385a to your computer and use it in GitHub Desktop.
Save karthikraman/311e1c1b5fc00be3385a to your computer and use it in GitHub Desktop.
BubblePlot for MATLAB
function h=bubbleplot(varargin)
%BUBBLEPLOT Bubble plot, using MATLAB's scatter
%
% x, y -- data
%
x=varargin{1}(:);
y=varargin{2}(:);
data=sortrows([x y]);
unq_data=unique(data,'rows');
nPoints=size(x,1);
chk=isnan(unq_data);
[i,j]=find(chk);
if(~isempty(i))
warning('NaNs found in data!');
unq_data(i,:)=[];
nPoints=nPoints-length(i);
end
s=zeros(size(unq_data,1),1);
for k=1:length(s)
s(k)=sum(sum(bsxfun(@eq,data,unq_data(k,:)),2)==2);
end
if(sum(s)~=nPoints)
warning('Something not right. Data points not tallying!\n');
end
if(max(s)>50)
scale=2000/max(s);
else
scale=36;
end
h=scatter(unq_data(:,1),unq_data(:,2),s*scale,varargin{3:end});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment