Showing repeat data points in XY/scatter plot

I'm trying to figure out a way to show in a scatter plot a way to make points darker or larger if they appear more than once. Lets say you have 3 points, and 2 are the exact same x,y coordinates, but plotting this you would only see 2 points that look the same on the plot. How can the ones that are repeats look different? I was trying to write a function to make new arrays with repeat data, but this is proving difficult as well.

 採用された回答

Sean de Wolski
Sean de Wolski 2011 年 6 月 3 日

1 投票

%Data
x = ones(1,12);
y = [1 1 2 3 3 3 4 5 6 2 2 2];
%Engine
[uxy, jnk, idx] = unique([x.',y.'],'rows');
szscale = histc(idx,unique(idx));
%Plot Scale of 25 and stars
scatter(uxy(:,1),uxy(:,2),'p','sizedata',szscale*25)

1 件のコメント

Walter Roberson
Walter Roberson 2011 年 6 月 3 日
This is fine for integer coordinates; if the coordinates have fractions, then the fuller accumarray() solution I linked to would be necessary.

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 6 月 3 日

0 投票

Please see my answer to this. Be sure to expand the comments as the details show up there.

カテゴリ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by