Matplotlib: كيفية تلوين مخطط التشتت حسب القيمة
في كثير من الأحيان قد ترغب في تظليل لون النقاط في مخطط scatterplot matplotlib بناءً على متغير ثالث. لحسن الحظ، من السهل القيام بذلك باستخدام الدالة matplotlib.pyplot.scatter() ، والتي تأخذ الصيغة التالية:
matplotlib.pyplot.scatter(x, y, s=None, c=None, cmap=None)
ذهب:
- x: جدول القيم المطلوب استخدامه لمواضع المحور x في المخطط.
- y: مجموعة من القيم لاستخدامها في مواضع المحور y في المخطط.
- s: حجم العلامة.
- ج: جدول القيم المستخدمة لألوان العلامة.
- cmap: خريطة ملونة لاستخدامها في التخطيط.
يمكنك استخدام c لتحديد متغير لاستخدامه لقيم الألوان ويمكنك استخدام cmap لتحديد الألوان الفعلية لاستخدامها للعلامات في السحابة النقطية.
يشرح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.
مثال 1: نقاط مخطط التشتت الملونة حسب القيمة
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29], 'y': [5, 7, 7, 9, 12, 9, 9, 4], 'z': [3, 4, 4, 5, 7, 8, 8, 9]}) #view DataFrame df X Y Z 0 25 5 3 1 12 7 4 2 15 7 4 3 14 9 5 4 19 12 7 5 23 9 8 6 25 9 8 7 29 4 9
يوضح الكود التالي كيفية إنشاء سحابة نقطية باستخدام لوحة الألوان الرمادية واستخدام قيم المتغير z كظل للوحة الألوان:
import matplotlib.pyplot as plt #create scatterplot plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' gray ')
في هذا المثال تحديدًا، نختار لوحة الألوان “الرمادية”، ولكن يمكنك العثور على قائمة كاملة بألواح الألوان المتاحة لاستخدامها في وثائق لوحات ألوان matplotlib .
على سبيل المثال، يمكننا بدلاً من ذلك تحديد “الأخضر” كلوحة ألوان:
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens ')
بشكل افتراضي، تكون العلامات ذات القيم الأكبر للوسيطة c مظللة بشكل أغمق، ولكن يمكنك عكس هذا الاتجاه ببساطة عن طريق إضافة _r إلى اسم cmap:
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens_r ')
مثال 2: نقاط مخطط التشتت الملونة حسب الفئة
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29], 'y': [5, 7, 7, 9, 12, 9, 9, 4], 'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']}) #view DataFrame df X Y Z 0 25 5 A 1 12 7 A 2 15 7 B 3 14 9 B 4 19 12 B 5 23 9 C 6 25 9 C 7 29 4 C
يوضح التعليمة البرمجية التالية كيفية إنشاء مخطط تبعثر باستخدام المتغير z لتلوين العلامات بناءً على الفئة:
import matplotlib.pyplot as plt groups = df. groupby ('z') for name, group in groups: plt. plot (group.x, group.y, marker=' o ', linestyle='', markersize=12, label=name) plt. legend ()
يمكنك العثور على المزيد من دروس بايثون هنا .