Construct a 'Bubble Plot' from a matrix
21 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Himanshu Saxena
am 8 Jun. 2021
Kommentiert: Himanshu Saxena
am 16 Jul. 2021
Hi,
I want to generate a bubble plot of a matrix. Such plots are possibe to make in 'R Studio'. I have attached an example image of the desired plot.
Is there a way to do so in MATLAB?
Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Adam Danz
am 12 Jun. 2021
Bearbeitet: Adam Danz
am 14 Jun. 2021
> I want to have a sequence of colors corresponding to the the size of circles.
Assuming an n-by-m matrix r should be plotted such that point r(i,j) should appear at x=i, y=j, use meshgrid to create x and y coordinates and then set x, y, and r to bubbleplot as vectors.
The size of the bubbles is defined by |r|and the colors are based r. That way the size of the bubble shows the strength of the correlation and the color shows the direction. That could be switched around, of course.
% Create correlation matrix r
rng default % for reproducibility
r = rand(5)*2-1;
r(logical(eye(5))) = 1
% Create x and y coordinates and bubblechart
[x,y] = meshgrid(1:size(r,1), 1:size(r,2));
bubblechart(x(:),y(:),abs(r(:)),r(:))
% Cosmetics
colormap('jet')
grid on
set(gca,'xtick', 1:size(r,2), ...
'ytick', 1:size(r,1), ...
'YDir', 'Reverse'); % typically corr matrices use flipped y axes
xlabel('x index')
ylabel('y index')
cb = colorbar;
ylabel(cb, 'Correlation')
caxis([-1,1])
5 Kommentare
Siehe auch
Kategorien
Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!