كيفية إنشاء مخطط مبعثر 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