# MATLAB: Fancy Correlation Plots in MATLAB

correlation plotMATLAB

I'm trying to find a way to generate these pretty correlation plots in MATLAB. These are generated in R using 'corrplot' function, but couldn't find any similar code in MATLAB. Any help would be appreciated.
As a quick description, this function will create a color scale of the correlation values, and create circles in each cell of the correlation matrix/plot with the associated color. The size of the circles is also an indicator of the magnitude of the correlation, with larger circles representing a stronger relationship (positive or negative). More details could be found here.

% sample correlation matrixr = normalize(randn(10, 10), 'range', [-1, 1]);for i = 1:size(r, 1)    r(i, i) = 1;end% labelslabels = "variable" + (1:size(r, 1));% scatter plotn = size(r, 1);y = triu(repmat(n+1, n, n) - (1:n)') + 0.5;x = triu(repmat(1:n, n, 1)) + 0.5;x(x == 0.5) = NaN;scatter(x(:), y(:), 400.*abs(r(:)), r(:), 'filled', 'MarkerFaceAlpha', 0.6)% enclose markers in a gridxl = [1:n+1;repmat(n+1, 1, n+1)];xl = [xl(:, 1), xl(:, 1:end-1)];yl = repmat(n+1:-1:1, 2, 1);line(xl, yl, 'color', 'k') % horizontal linesline(yl, xl, 'color', 'k') % vertical lines% show labelstext(1:n, (n:-1:1) + 0.5, labels, 'HorizontalAlignment', 'right')text((1:n) + 0.5, repmat(n + 1, n, 1), labels, ...    'HorizontalAlignment', 'right', 'Rotation', 270)h = gca;colorbar(h);h.Visible = 'off';h.Position(4) = h.Position(4)*0.9;axis(h, 'equal')colormap('jet')