Cara membuat plot sebar seaborn dengan koefisien korelasi


Anda dapat menggunakan sintaks dasar berikut untuk membuat plot sebar di Seaborn dan menambahkan koefisien korelasi ke plot:

 import scipy
import matplotlib. pyplot as plt
import seaborn as sns

#calculate correlation coefficient between x and y
r = scipy. stats . pearsonr (x=df. x , y=df. y )[0]

#create scatterplot
sns. scatterplot (data=df, x=df. x , y=df. y )

#add correlation coefficient to plot
plt. text (5, 30, ' r = ' + str ( round (r,2)))

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Membuat Seaborn Scatterplot dengan Koefisien Korelasi

Katakanlah kita memiliki panda DataFrame berikut yang menunjukkan poin dan assist dari berbagai pemain bola basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'C', 'C', 'C', 'D', 'D'],
                   ' points ': [12, 11, 18, 15, 14, 20, 25, 24, 32, 30],
                   ' assists ': [4, 7, 7, 8, 9, 10, 10, 12, 10, 15]})

#view DataFrame
print (df)

  team points assists
0 to 12 4
1 to 11 7
2 To 18 7
3 to 15 8
4 B 14 9
5 C 20 10
6 C 25 10
7 C 24 12
8 D 32 10
9 D 30 15

Kita dapat menggunakan sintaks berikut untuk membuat plot sebar guna memvisualisasikan hubungan antara lintasan dan titik dan juga menggunakan fungsi scipy ‘s pearsonr() untuk menghitung koefisien korelasi antara kedua variabel ini:

 import scipy
import matplotlib. pyplot as plt
import seaborn as sns

#calculate correlation coefficient between assists and points
r = scipy. stats . pearsonr (x=df. assists , y=df. points )[0]

#create scatterplot
sns. scatterplot (data=df, x=df. assists , y=df. points )

#add correlation coefficient to plot
plt. text (5, 30, ' r = ' + str ( round (r,2))) 

awan titik laut dengan koefisien korelasi

Dari hasil tersebut terlihat bahwa koefisien korelasi Pearson antara assist dan poin adalah 0,78 .

Terkait: Apa yang dianggap sebagai korelasi “kuat”?

Perhatikan bahwa kami menggunakan fungsi round() untuk membulatkan koefisien korelasi ke dua angka desimal.

Jangan ragu untuk membulatkan ke jumlah desimal yang berbeda dan juga gunakan argumen ukuran font untuk mengubah ukuran font koefisien korelasi pada plot:

 import scipy
import matplotlib. pyplot as plt
import seaborn as sns

#calculate correlation coefficient between assists and points
r = scipy. stats . pearsonr (x=df. assists , y=df. points )[0]

#create scatterplot
sns. scatterplot (data=df, x=df. assists , y=df. points )

#add correlation coefficient to plot
plt. text (5, 30, ' r= '+ str ( round (r,4)), fontsize= 20 )) 

Perhatikan bahwa koefisien korelasi sekarang dibulatkan menjadi empat desimal dan ukuran font jauh lebih besar dibandingkan contoh sebelumnya.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi seaborn scatterplot() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan fungsi umum lainnya di seaborn:

Cara merencanakan distribusi di Seaborn
Cara mengurutkan plot kotak pada sumbu x di Seaborn
Bagaimana cara menambahkan tabel ke plot Seaborn

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *