Added source Matlab code for reference
This commit is contained in:
parent
b8af977117
commit
b5d99903d2
186 changed files with 61405 additions and 1 deletions
88
matlab/graph/vorPlot.m
Normal file
88
matlab/graph/vorPlot.m
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
function vorPlot(V,C,partition, pointers, coordinates, tekstit)
|
||||
|
||||
if nargin < 6
|
||||
tekstit = pointers;
|
||||
end
|
||||
|
||||
notEmptyPops = length(unique(partition));
|
||||
if notEmptyPops>30
|
||||
disp(['Number of populations: ' num2str(notEmptyPops)]);
|
||||
disp(' ');
|
||||
disp('Figure can be drawn only if the number of populations');
|
||||
disp('is less or equal to 30.');
|
||||
disp(' ');
|
||||
return;
|
||||
end
|
||||
|
||||
npops = length(unique(partition));
|
||||
|
||||
if npops > 30
|
||||
return
|
||||
end
|
||||
|
||||
colors=giveColors(npops);
|
||||
|
||||
h1 = figure('NumberTitle', 'off', 'Name', 'Colored Voronoi tessellation');
|
||||
hold on
|
||||
|
||||
|
||||
[I, J] = find(coordinates>0 | coordinates<0);
|
||||
I=unique(I);
|
||||
xmin = min(coordinates(I,1));
|
||||
xmax = max(coordinates(I,1));
|
||||
xdiff = (xmax-xmin);
|
||||
xmean = xmin + xdiff/2;
|
||||
|
||||
ymin = min(coordinates(I,2));
|
||||
ymax = max(coordinates(I,2));
|
||||
ydiff = (ymax-ymin);
|
||||
ymean = ymin + ydiff/2;
|
||||
|
||||
pituus = max(ydiff,xdiff)*1.1/2;
|
||||
|
||||
axis([xmean-pituus xmean+pituus ymean-pituus ymean+pituus]);
|
||||
|
||||
|
||||
for i=1:length(C)
|
||||
X=V(C{i},:);
|
||||
%k=convhull(X(:,1),X(:,2),{'QJ', 'Pp'});
|
||||
k=convhull(X(:,1),X(:,2));
|
||||
taulu = pointers{i};
|
||||
if length(taulu)>0
|
||||
color=colors(partition(taulu(1)),:);
|
||||
patch(X(k,1),X(k,2),color);
|
||||
plot(coordinates(taulu(1),1),coordinates(taulu(1),2),'Color',[1 1 1], 'MarkerSize', 50);
|
||||
%text(coordinates(taulu(1),1),coordinates(taulu(1),2),num2str(taulu), 'FontSize', 8);
|
||||
end
|
||||
end
|
||||
|
||||
if ~isequal(tekstit, -1)
|
||||
for i=1:length(pointers)
|
||||
taulu = pointers{i};
|
||||
teksti = tekstit{i};
|
||||
if isnumeric(teksti)
|
||||
teksti = num2str(teksti);
|
||||
end
|
||||
if length(taulu)>0
|
||||
text(coordinates(taulu(1),1),coordinates(taulu(1),2),teksti, ...
|
||||
'Interpreter', 'none', 'FontSize', 8);
|
||||
end
|
||||
end
|
||||
end
|
||||
%[I,J] = find(coordinates(:,1) > 0);
|
||||
|
||||
%plot(coordinates(I,1), coordinates(I,2), 'k.');
|
||||
|
||||
%hold off
|
||||
%{
|
||||
%h0 = image_figure;
|
||||
%hold on;
|
||||
for i=1:length(partition)
|
||||
if coordinates(i,1)>=0
|
||||
%plot(coordinates(i,1),coordinates(i,2),'k.');
|
||||
plot(coordinates(i,1),coordinates(i,2),'Color',[1 1 1], 'MarkerSize', 40);
|
||||
text(coordinates(i,1),coordinates(i,2),num2str(i), 'FontSize', 8);
|
||||
end
|
||||
end
|
||||
%}
|
||||
hold off;
|
||||
Loading…
Add table
Add a link
Reference in a new issue