اذهب إلى المحتوى
  • 0

استخدام نماذج الألوان Color Palette ضمن ال Boxplot باستخدام Seaborn في بايثون

إياد أحمد

السؤال

لدي الكود التالي الذي يقوم بتمثيل البيانات من خلال boxplot:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame({
	'Corn': np.random.normal(40, 15, 100),
	'Rice': np.random.normal(60, 10,100),
	'Wheat': np.random.normal(80, 5, 100),
	'Peas': np.random.normal(30, 13, 100),
})
data_df = df.melt(var_name='Pulses',
                  value_name='Tons Consumed')
sns.boxplot(x="Pulses", y="Tons Consumed",
            data=data_df)

الخرج:
index.png.56fe2806203249861133943fe0d2843b.png

ما أحتاجه هو تغيير الألوان المرسومة، أعرف أن seaborn تحتوي العديد من لوحات التلوين لكن كيف يمكن أن نستخدمها؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

نعم تحتوي seaborn على العديد من لوحات التلوين:

CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r,  

OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r,  

Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd,  

PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r,  

RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral,  

Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd,  

YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r,  

bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix
Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r,  

ويمكنك استخدام أيّاً منها من خلال الوسيط palette كما يلي:

data_df = df.melt(var_name='Pulses',
                  value_name='Tons Consumed')
sns.boxplot(x="Pulses", y="Tons Consumed",
            data=data_df, palette="Set1")

كما يمكنك إنشاء لوحة ألوان خاصة بك لتلوين ال boxplot كما يلي:

# تعريف قائمة تحتوي الألوان بالترتيب
my_colors = [ "#3498db","#9b59b6","#2ecc71", "#006a4e"]
# ونمرر لها قائمة الألوان set_palette نستخدم الدالة 
sns.set_palette( my_colors )
# boxplot الآن نستدعي ال 
sns.boxplot( x = "Pulses", y = "Tons Consumed",
			data = data_df)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

بناء على التوضيح في الإجابة السابقة دعنا نأخذ مثالا على كيفية تطبيق هذا في الرسم:

# استدعاء المكتبات
import seaborn as sns
import matplotlib.pyplot as plt
# استخدام اللون الرمادي كخلفية) 
sns.set(style="darkgrid")
df = sns.load_dataset('iris')

#ضبط اللون الخاص بكل رسمة
my_pal = {"versicolor": "g", "setosa": "b", "virginica":"m"}
sns.boxplot(x=df["species"], y=df["sepal_length"], palette=my_pal)
plt.show()

وتكون شكل الرسمة كالتالي:

download.png.1781ca2a14c02c8ec88299a10f669241.png

لاحظ أننا نستطيع تغيير سواء الوان الرسمة أو الخلفية باستخدام اختصارات الألوان التي تم شرحها مسبقا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...