how to display correlation coefficient on graph?

57 Ansichten (letzte 30 Tage)
Minka Califf
Minka Califf am 18 Mai 2018
How can I display the correlation coefficient on the top left of the graph like so?
%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 Kommentare
Minka Califf
Minka Califf am 18 Mai 2018
Works perfectly! Thanks so much!
jonas
jonas am 18 Mai 2018
Bearbeitet: jonas am 18 Mai 2018
Great! I will post an answer so that this question disappears from unanswered. Btw, use the code in the answer if you want less decimals.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

jonas
jonas am 18 Mai 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');

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D 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!

Translated by