How can I create a correlation graph

88 views (last 30 days)
dj1du
dj1du on 30 May 2022
Commented: dj1du on 31 May 2022
Good evening!
I need to plot the correlation of a set of differently indexed vectors just like in the attached plot (I found it in a scientific publication).
By which Matlab command is it possible to create such a plot?
Thank you very much for your help!
  2 Comments
Mathieu NOE
Mathieu NOE on 31 May 2022
hello
The following MATLAB® functions compute sample correlation coefficients and covariance. These sample coefficients are estimates of the true covariance and correlation coefficients of the population from which the data sample is drawn.
Function Description
corrcoef Correlation coefficient matrix
cov Covariance matrix
xcorr Cross-correlation sequence of a random process (includes autocorrelation)
The MATLAB function corrcoef produces a matrix of sample correlation coefficients for a data matrix (where each column represents a separate quantity). The correlation coefficients range from -1 to 1, where. Values close to 1 indicate that there is a positive linear relationship between the data columns.
dj1du
dj1du on 31 May 2022
Edited: dj1du on 31 May 2022
Thank you very much for your answer! I don't want to be rude, but my question was rather pointed at how to create a plot like the attached one, when I already have some correlation values for each pair of vectors. I am looking for the Matlab command to create such a plot.

Sign in to comment.

Answers (1)

Chunru
Chunru on 31 May 2022
Edited: Chunru on 31 May 2022
% data matrix
nv = 10; % number of variables
ns = 80; % number of samples
x = randn(ns, nv);
% Correlation coeff
r = corrcoef(x);
%imagesc(r);
imagesc(abs(r));
colorbar; axis xy
  1 Comment
dj1du
dj1du on 31 May 2022
That's the command I was looking for, thank you very much!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!