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)))
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