フィルターのクリア

how add intensity/frequency to the scatter plot

3 ビュー (過去 30 日間)
didi
didi 2018 年 3 月 6 日
コメント済み: Pawel Jastrzebski 2018 年 3 月 7 日
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

採用された回答

Pawel Jastrzebski
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)
  6 件のコメント
didi
didi 2018 年 3 月 7 日
R2015a..indeed maybe it can be related to the version
Pawel Jastrzebski
Pawel Jastrzebski 2018 年 3 月 7 日
Must be. The code:
howMany = Y'==vectorOfvalues
uses so called implicit expansion which was introduced in version R2016B.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by