إياد أحمد نشر 20 ديسمبر 2021 أرسل تقرير نشر 20 ديسمبر 2021 (معدل) لدي إطار بيانات dataframe يمكنني أن أقوم برسمه من خلال boxplot بشكل طبيعي كما يلي: import pandas as pd import seaborn as sns %pylab inline df = pd.DataFrame({'Alpha' :['one','one','two','two','one','two','one','one','one','two'], 'Beta': [1,2,1,2,1,2,1,2,1,1], 'Gama': [1,2,3,4,6,1,2,3,4,6]}) sns.boxplot( data=df,y="Beta", x="Alpha") لكن لا أعرف كيف يمكن أن أرسم subplot لكل المتغيرات؟ أي أريد رسم أكثر من مخطط وأريد وضع كل منها ضمن subplot.. تم التعديل في 20 ديسمبر 2021 بواسطة إياد أحمد اقتباس
1 Ali Haidar Ahmad نشر 20 ديسمبر 2021 أرسل تقرير نشر 20 ديسمبر 2021 يمكنك القيام بذلك بالشكل النالي: import seaborn as sns import pandas as pd %pylab inline df = pd.DataFrame({'Alpha' :['one','one','two','two','one','two','one','one','one','two'], 'Beta': [1,2,1,2,1,2,1,2,1,1], 'Gama': [1,2,3,4,6,1,2,3,4,6]}) # بالعدد الذي نريده subplots نقوم بتعريف شكل مع f, axes = plt.subplots(1, 2) # axes[1] والثاني axes[0] هنا قمنا بتعريف اثنين الأول هو # subplot حيث أن المحاور عبارة عن مصفوفة مع كل # نريده subplot الآن نضع كل مخطط ضمن # ax وذلك من خلال الوسيط sns.boxplot( y="Beta", x= "Alpha", data=df, orient='v' , ax=axes[0]) # المخطط الأول sns.boxplot( y="Gama", x= "Alpha", data=df, orient='v' , ax=axes[1]) # المخطط الثاني # وهكذا.. الخرج: اقتباس
1 Ahmed Sharshar نشر 22 ديسمبر 2021 أرسل تقرير نشر 22 ديسمبر 2021 بجانب الحل السابق يمكنك كذلك استخدام حلقة تكرارية بسيطة وذلك عوضا عن كتابة كل سطر لكل رسمة بشكل مفصل ، المثال التالي يوضح ذلك: import numpy as np # البيانات المراد رسمها df = pd.DataFrame({'a' :['one','one','two','two','one','two','one','one','one','two'], 'b': np.random.randint(1,8,10), 'c': np.random.randint(1,8,10), 'd': np.random.randint(1,8,10), 'e': np.random.randint(1,8,10)}) names = df.columns.drop('a') ncols = len(names) fig, axes = plt.subplots(1,ncols) #حلقة تكرارية للرسم for name, ax in zip(names, axes.flatten()): sns.boxplot(y=name, x= "a", data=df, orient='v', ax=ax) plt.tight_layout() ويكون الناتج كالتالي: لاحظ اننا هنا ثبتنا اسماء الرسومات كلها، لكنك يمكنك تحديد اسم أو رقم لكل رسمة بحيث يكون مميزا لها كذلك. اقتباس
السؤال
إياد أحمد
لدي إطار بيانات dataframe يمكنني أن أقوم برسمه من خلال boxplot بشكل طبيعي كما يلي:
لكن لا أعرف كيف يمكن أن أرسم subplot لكل المتغيرات؟ أي أريد رسم أكثر من مخطط وأريد وضع كل منها ضمن subplot..
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.