how add intensity/frequency to the scatter plot

1 visualización (últimos 30 días)
didi
didi el 6 de Mzo. de 2018
Comentada: Pawel Jastrzebski el 7 de Mzo. de 2018
Hi, I would like to scatter plot these two vectors: X=[0 0 1 2 0 1 1 0]; Y=[1 1 1 1 2 0 0 2]; and had the frequency of occurrence in the color or in the size of the points, something like the attached pic

Respuesta aceptada

Pawel Jastrzebski
Pawel Jastrzebski el 6 de Mzo. de 2018
Editada: Pawel Jastrzebski el 6 de Mzo. de 2018
Consider the code below but also check the documentation for:
X=[0 0 1 2 0 1 1 0];
Y=[1 1 1 1 2 0 0 2];
% find the freqency vector
minVal = min(Y)
maxVal = max(Y)
vectorOfvalues = minVal:maxVal
howMany = Y'==vectorOfvalues
howManySum = sum(howMany);
% this line nicely show how the occurance of a value
% 1st row: value
% 2nd row: occurance
howManySum = [vectorOfvalues; howManySum]
% pre-allocation
occurence = zeros(1,length(Y));
for i=1:length(howManySum)
occurence(Y==howManySum(1,i)) = howManySum(2,i);
end
Y
occurence
% I've added the factor of 50 for the occurance
% so the diffrence between the dot sizes is visible
figure
scatter(X,Y,50*occurence)
  6 comentarios
didi
didi el 7 de Mzo. de 2018
R2015a..indeed maybe it can be related to the version
Pawel Jastrzebski
Pawel Jastrzebski el 7 de Mzo. de 2018
Must be. The code:
howMany = Y'==vectorOfvalues
uses so called implicit expansion which was introduced in version R2016B.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by