تلوين المخططات المبعثرة حسب قيم الأعمدة باستخدام Pandas و Matplotlib
Matplotlib هي مكتبة Python شائعة لإنشاء تصورات ثابتة ومتحركة وتفاعلية في بايثون. تستكشف هذه المقالة استخدام Matplotlib لتلوين المخططات المبعثرة استنادًا إلى القيم الموجودة في عمود محدد من Pandas DataFrame.
الاستيراد والبيانات
للبدء، نقوم باستيراد المكتبات الضرورية ، بما في ذلك Matplotlib (كما plt) وPandas (كما pd). نقوم أيضًا بإنشاء نموذج DataFrame ("df") بثلاثة أعمدة: "الارتفاع" و"الوزن" و"الجنس".
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
np.random.seed(0)
N = 37
_genders = ["Female", "Male", "Non-binary", "No Response"]
df = pd.DataFrame({
"Height (cm)": np.random.uniform(low=130, high=200, size=N),
"Weight (kg)": np.random.uniform(low=30, high=100, size=N),
"Gender": np.random.choice(_genders, size=N),
})
التحديث في أغسطس 2021
قدم Seaborn وظائف جديدة على مستوى الشكل، مثل seaborn.replot في الإصدار 0.11.0. يوصى باستخدام هذه الوظائف بدلاً من استخدام FacetGrid مباشرةً.sns.relplot(data=df, x="Weight (kg)", y="Height (cm)", hue="Gender", hue_order=_genders, aspect=1.61)
plt.show()
إجابة قديمة (2015)
إذا كنت ترغب في استخدام Matplotlib مباشرة، فستحتاج إلى تعيين وظيفة مبعثر matplotlib على فئات Pandas DataFrame . للقيام بذلك: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
fig = dfScatter(df)
fig.savefig('fig1.png')
باتباع هذه الخطوات، يمكنك بسهولة تلوين المخططات المبعثرة بناءً على قيم الأعمدة باستخدام Pandas وMatplotlib. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3