كيفية إنشاء الهرم السكاني في بايثون


الهرم السكاني هو رسم بياني يوضح العمر والتوزيع الجنسي لمجموعة سكانية معينة. وهذا مفيد لفهم تكوين السكان واتجاه النمو السكاني.

يشرح هذا البرنامج التعليمي كيفية إنشاء الهرم السكاني التالي في بايثون:

الهرم العمري في بايثون

الهرم العمري في بايثون

لنفترض أن لدينا مجموعة البيانات التالية التي تعرض إجمالي عدد السكان من الرجال والنساء حسب الفئة العمرية لبلد معين:

 #import libraries 
import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt

#create dataframe
df = pd.DataFrame({'Age': ['0-9','10-19','20-29','30-39','40-49','50-59','60 -69','70-79','80-89','90+'], 
                    'Male': [9000, 14000, 22000, 26000, 34000, 32000, 29000, 22000, 14000, 3000], 
                    'Female': [8000, 15000, 19000, 28000, 35000, 34000, 28000, 24000, 17000, 5000]})
#view dataframe 
df

    Age Male Female
0 0-9 9000 8000
1 10-19 14000 15000
2 20-29 22000 19000
3 30-39 26000 28000
4 40-49 34000 35000
5 50-59 32000 34000
6 60-69 29000 28000
7 70-79 22000 24000
8 80-89 14000 17000
9 90+ 3000 5000

يمكننا استخدام الكود التالي لإنشاء هرم سكاني للبيانات:

 #define x and y limits
y = range(0, len(df))
x_male = df['Male']
x_female = df['Female']

#define plot parameters
fig, axes = plt.subplots(ncols=2, sharey=True, figsize=(9, 6))

#specify background color and plot title
fig.patch.set_facecolor('xkcd:light grey')
plt.figtext(.5,.9,"Population Pyramid", fontsize=15, ha='center')
    
#define male and female bars
axes[0].barh(y, x_male, align='center', color='royalblue')
axes[0].set(title='Males')
axes[1].barh(y, x_female, align='center', color='lightpink')
axes[1].set(title='Females')

#adjust grid parameters and specify labels for y-axis
axes[1].grid()
axes[0].set(yticks=y, yticklabels=df['Age'])
axes[0].invert_xaxis()
axes[0].grid()

#displayplot
plt.show() 

الهرم العمري في بايثون

ويبين الرسم البياني أن توزيع الرجال والنساء متماثل إلى حد ما، حيث يقع معظم السكان في فئة منتصف العمر. بمجرد النظر إلى هذا الرسم البياني، يمكننا الحصول على فكرة جيدة عن التركيبة السكانية لهذا البلد بالذات.

لاحظ أنه يمكنك ضبط ألوان خلفية الرسم والأشرطة الفردية عن طريق تحديد الألوان في قائمة ألوان matplotlib .

على سبيل المثال، يمكننا تحديد “hotpink” و”dodgerblue” لاستخدامهما مع خلفية “بيج”:

 fig.patch.set_facecolor('xkcd: beige ')
    
axes[0].barh(y, x_male, align='center', color=' dodgerblue ')

axes[1].barh(y, x_female, align='center', color=' hotpink ')

plt.show() 

هرم سكان بايثون بلوحة ألوان مختلفة

لا تتردد في تغيير لوحة الألوان بناءً على ما يبدو أفضل لك.

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *