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

السؤال

نشر

لدي الكود التالي الذي يقوم بتمثيل البيانات من خلال 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...