how to display correlation coefficient on graph?
44 views (last 30 days)
Show older comments
Minka Califf
on 18 May 2018
Commented: Carlos Astudillo Gutierrez
on 22 Mar 2021
How can I display the correlation coefficient on the top left of the graph like so?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/190643/image.png)
%data
data1 = [9.3 480; 9.7 501; 9.7 540; 9.7 552; 9.9 547; 10.2 622; 10.5 655; 11 701; 10.6 712; 10.6 708];
data2 = [16 9.8; 9 9; 12 9; 15 9.1;10 8.8; 11 8.7;7 8.4; 2 7.8; 5 7.9;1 7.6];
%make 2 figures
figure;
% add first plot in 2 x 1 grid
subplot(1,2,1);
scatter(data1(:,1), data1(:,2), '+', 'MarkerFaceColor', 'k');
ylabel('Engineering Doctorates');
xlabel ('Cheese Consumption');
box 'on'
axis square;
axis([7 12 450 800]);
% add second plot in 2 x 1 grid
subplot(1,2,2);
scatter(data2(:,1), data2(:,2), 'x', 'MarkerFaceColor', 'k');
ylabel('Kentucky Marriage Rate');
xlabel('Fishing Boat Drownings');
box 'on'
axis square;
axis([0 20 7 10]);
%ticks off
set(gca,'Ticklength',[0 0])
%white background
set(gcf,'color','w');
%correlation coefficient
r = corrcoef(data1(:, 1), data1(:, 2));
disp(r(1,2));
5 Comments
Accepted Answer
jonas
on 18 May 2018
The code you attached works perfectly fine, just replace the variable names and add after your own code
tmp=corrcoef(data1(:,1),data1(:,2));
str=sprintf('r= %1.2f',tmp(1,2));
T = text(min(get(gca, 'xlim')), max(get(gca, 'ylim')), str);
set(T, 'fontsize', 14, 'verticalalignment', 'top', 'horizontalalignment', 'left');
2 Comments
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!