how add intensity/frequency to the scatter plot
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuesta aceptada
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)
Más respuestas (0)
Ver también
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!