Scatter plot with colorbar showing density of points
조회 수: 33 (최근 30일)
이전 댓글 표시
Hi everyone
I want to draw scatter plot along with a colorbar showing where the points are denser. I have attached the desired output cropped images.
Any help would be greatly appreciated.
The code is also (the mat files are also attached) :
% Loading mat files.
load('OrgValues.mat')
load('ATPK_AggregatedValues.mat')
% Visualization
figure;
P1 = plot(OrgValues, ATPK_AggregatedValues, 'o','MarkerFaceColor','b');
xlim([0,max(max(ATPK_AggregatedValues, OrgValues))])
ylim([0,max(max(ATPK_AggregatedValues, OrgValues))])
hold on
P2 = plot([0,max(max(ATPK_AggregatedValues, OrgValues))],[0,max(max(ATPK_AggregatedValues, OrgValues))],'-');
hold off
XlabelText = xlabel('Orginial');
YlabelText = ylabel('Aggregated');
답변 (1개)
SALAH ALRABEEI
2021년 6월 8일
You can for example measure the distance between all the coordinates, then take the inverse of minimum distance or average of al the distance between the value x(1),y(1) with all the others.
%
X = rand(1000,2);
D = pdist(X);
D = sort((squareform(D))); %
s = 1./D(2,:); % we take the miminum distance of each element except the the distance between itself at D(1,:);
s2 = 1.mean(D); % another way to use it. Depends on your data.
scatter(X(:,1),X(:,2),[],s)
댓글 수: 2
SALAH ALRABEEI
2021년 6월 8일
% write this after the load line
X =[OrgValues, ATPK_AggregatedValues];
D = pdist(X);
D = sort((squareform(D))); %
s = 1./D(2,:); % we take the miminum distance of each element except the the distance between itself at D(1,:);
s2 = 1/.mean(D); % another way to use it. Depends on your data.
Then replace
P1 = plot(OrgValues, ATPK_AggregatedValues, 'o','MarkerFaceColor','b');
by this
scatter(OrgValues, ATPK_AggregatedValues,[],s,'filled');
or
scatter(OrgValues, ATPK_AggregatedValues,[],s2,'filled');
참고 항목
카테고리
Help Center 및 File Exchange에서 Scatter Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!