كيفية إضافة خط متوسط للرسم في matplotlib


يمكنك استخدام بناء الجملة الأساسي التالي لإضافة خط متوسط إلى قطعة أرض في Matplotlib:

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y ))

لاحظ أن axhline يضيف خطًا أفقيًا إلى المخطط ويقوم nanmean بحساب القيمة المتوسطة (تجاهل NaNs) حيث يجب وضع الخط.

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

مثال: أضف خطًا متوسطًا إلى قطعة الأرض في Matplotlib

لنفترض أن لدينا DataFrame الباندا التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' y ':[2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15]})

#view first five rows of DataFrame
df. head ()

	x y
0 1 2
1 2 5
2 3 6
3 4 5
4 5 7

يمكننا استخدام الكود التالي لإنشاء مخطط مبعثر لـ x مقابل y وإضافة خط أفقي يمثل متوسط قيمة y:

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y )) 

يمكننا أن نرى أنه تمت إضافة خط متوسط إلى المخطط أعلى بقليل من قيمة y البالغة 8.

وإذا حسبنا متوسط قيمة y نجد أنها 8.333:

 #calculate average y-value
n.p. nanmean (df. y )

8.333333333

لاحظ أنه يمكننا أيضًا استخدام وسائط color و linestyle و linewidth لتحديد اللون ونوع الخط وعرض الخط للخط المتوسط، على التوالي:

 import matplotlib. pyplot as plt
import numpy as np

#create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at mean value of y
plt. axhline (y=np. nanmean (df. y ), color=' red ', linestyle=' -- ', linewidth= 3 , label=' Avg ') 

الخط المتوسط في Matplotlib

ملاحظة : يمكنك العثور على الوثائق الكاملة عبر الإنترنت لوظيفة axhline() هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في Matplotlib:

كيفية إضافة خط الاتجاه في Matplotlib
كيفية رسم خط عمودي في Matplotlib
كيفية رسم خطوط متعددة في Matplotlib

Add a Comment

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