"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تعيين الألوان للنقاط في المخططات المبعثرة بناءً على قيم الأعمدة في بايثون؟

كيفية تعيين الألوان للنقاط في المخططات المبعثرة بناءً على قيم الأعمدة في بايثون؟

تم النشر بتاريخ 2024-11-10
تصفح:475

How to Assign Colors to Points in Scatter Plots Based on Column Values in Python?

مخططات التلوين المبعثرة حسب قيم الأعمدة في بايثون

يسمح تعدد استخدامات ggplot2 في R بتعيين الألوان بشكل سلس لنقاط البيانات بناءً على العمود قيم. يمكن أيضًا تكرار هذه الميزة في Python باستخدام إطارات بيانات الباندا وMatplotlib.

استخدام Pandas و Matplotlib

لتعيين الألوان إلى القيم في Matplotlib، خذ في الاعتبار الخطوات التالية:

  1. إنشاء قاموس ألوان: تحديد قاموس يقوم بتعيين القيم الفريدة في العمود الفئوي إلى اللون المقابل. وهذا يضمن تعيين ألوان متسقة عبر نقاط البيانات.
  2. إضافة عمود اللون : أنشئ عمودًا جديدًا في إطار البيانات الذي يعين اللون المقابل لكل قيمة في العمود الفئوي.
  3. [] &&&]
  4. رسم المخطط المبعثر: استخدم المعلمة c في matplotlib.pyplot.scatter لتحديد عمود اللون كوسيطة اللون.
إليك مثال للتنفيذ:

def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):
    fig, ax = plt.subplots()
    categories = np.unique(df[catcol])
    colors = np.linspace(0, 1, len(categories))
    colordict = dict(zip(categories, colors))  

    df["Color"] = df[catcol].apply(lambda x: colordict[x])
    ax.scatter(df[xcol], df[ycol], c=df.Color)
    return fig

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

df = pd.DataFrame({'Height':np.random.normal(size=10), 'الوزن':np.random.normal(size=10)، 'الجنس': ["ذكر"،"ذكر"،"غير معروف"،"ذكر"،"ذكر"، "أنثى"، "لم يتم الرد"، "غير معروف"، "أنثى"، "أنثى"]}) Fig = dfScatter(df)

سيؤدي هذا إلى إنشاء مخطط مبعثر حيث يحدد عمود الجنس لون كل نقطة بيانات.
بيان الافراج أعيد طبع هذه المقالة على: 1729320437 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3