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.

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 3 de Jun. de 2011
%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 comentario

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

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 3 de Jun. de 2011

0 votos

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

Categorías

Preguntada:

Ken
el 3 de Jun. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by