how add intensity/frequency to the scatter plot
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Pawel Jastrzebski
2018-3-6
编辑:Pawel Jastrzebski
2018-3-6
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!