تتناول هذه المقالة كيفية إنشاء مخطط مبعثر في بايثون باستخدام matplotlib، حيث يمثل كل لون مستوى فئوي مختلف. يتجنب هذا الأسلوب استخدام حزم التخطيط المساعدة مثل seaborn وggplot لـ Python.
يوفر Matplotlib الوسيطة c في plt.scatter، مما يسمح بتخصيص اللون. إليك مثال:
import matplotlib.pyplot as plt
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
'price': [326, 326, 327],
'color': ['E', 'E', 'E']})
# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}
# Scatter plot with colors
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()
تقوم وظيفة الخريطة (الألوان) بتعيين الألوان "الماسة" إلى ألوان "التخطيط".
على الرغم من أن هذه المقالة تركز على matplotlib ، تجدر الإشارة إلى أن seaborn يقدم أيضًا حلاً مناسبًا:
import seaborn as sns
# Scatter plot with colors
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)
للطريقة اليدوية، يمكنك استخدام الباندا للتجميع حسب اللون ورسم كل مجموعة على حدة:
import matplotlib.pyplot as plt
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
'price': [326, 326, 327],
'color': ['E', 'E', 'E']})
# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}
# Group by color and plot
grouped = df.groupby('color')
for key, group in grouped:
group.plot(ax=plt.gca(), kind='scatter', x='carat', y='price', label=key, color=colors[key])
plt.show()
يفترض هذا نفس إطار البيانات كما كان من قبل ويقوم بتعيين الألوان يدويًا أثناء عملية الرسم.
لقد أوضحت هذه المقالة كيفية رسم ألوان مختلفة لـ مستويات فئوية مختلفة في بايثون باستخدام matplotlib، إلى جانب خيارات إضافية باستخدام seaborn والمنهج اليدوي مع الباندا.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3