Вы можете использовать немного творчества и функцию scatter
, чтобы сделать это.
Во-первых, вам нужно свести свои данные к списку баллов плюс подсчет количества баллов в каждом местоположении.
Например, если у вас есть данные:
xy = [...
1,1; ...
2,1; ...
2,1; ...
3,2; ...
2,1; ...
2,1; ...
1,1];
Получите уникальные очки и уникальные индексы:
[xyUnique, ignore, ixs] = unique(xy,'rows')
Это довольно болезненно, но мы можем подсчитать количество вхождений каждой уникальной строки, используя вектор ixs
(возможно, есть лучший способ).
counts = zeros(size(xyUnique,1),1);
for ix = 1:size(counts,1);
counts(ix) = sum(ixs == ix);
end
Теперь используйте разброс, чтобы построить график, как вы хотите.
scatter(...
xyUnique(:,1), ... %X values
xyUnique(:,2), ... %Y values
counts*20, ... %Individual marker sizes, note scale factor to make this visible
'b', ... %Marker colors
'filled'); %I think these look better filled