كيفية إنشاء مخطط مبعثر seaborn بمعامل الارتباط


يمكنك استخدام الصيغة الأساسية التالية لإنشاء مخطط مبعثر في Seaborn وإضافة معامل ارتباط إلى المخطط:

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

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: قم بإنشاء مخطط تشتت Seaborn باستخدام معامل الارتباط

لنفترض أن لدينا DataFrame الباندا التالي الذي يعرض النقاط والتمريرات الحاسمة لمختلف لاعبي كرة السلة:

 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

يمكننا استخدام الصيغة التالية لإنشاء مخطط مبعثر لتصور العلاقة بين التمريرات والنقاط وأيضًا استخدام دالة scipy ‘s pearsonr() لحساب معامل الارتباط بين هذين المتغيرين:

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

سحابة النقطة البحرية مع معامل الارتباط

من النتيجة يمكننا أن نرى أن معامل ارتباط بيرسون بين التمريرات الحاسمة والنقاط هو 0.78 .

ذات صلة: ما الذي يعتبر ارتباطًا “قويًا”؟

لاحظ أننا استخدمنا الدالة round() لتقريب معامل الارتباط إلى منزلتين عشريتين.

لا تتردد في التقريب إلى عدد مختلف من المنازل العشرية ولا تتردد أيضًا في استخدام وسيطة حجم الخط لتغيير حجم الخط لمعامل الارتباط على المخطط:

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

لاحظ أنه تم الآن تقريب معامل الارتباط إلى أربع منازل عشرية وأن حجم الخط أكبر بكثير مما كان عليه في المثال السابق.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة seaborn scatterplot() هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية أداء الوظائف الشائعة الأخرى في Seaborn:

كيفية رسم التوزيع في Seaborn
كيفية ترتيب boxplots على المحور السيني في Seaborn
كيفية إضافة جدول إلى مؤامرة Seaborn

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *