Hoe maak je een bevolkingspiramide in python?


Een bevolkingspiramide is een grafiek die de leeftijds- en geslachtsverdeling van een bepaalde bevolking weergeeft. Dit is nuttig voor het begrijpen van de samenstelling van een bevolking en de trend van de bevolkingsgroei.

In deze tutorial wordt uitgelegd hoe je de volgende populatiepiramide in Python kunt maken:

Leeftijdspiramide in Python

Leeftijdspiramide in Python

Stel dat we de volgende gegevensset hebben die de totale bevolking van mannen en vrouwen per leeftijdsgroep voor een bepaald land weergeeft:

 #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

We kunnen de volgende code gebruiken om een populatiepiramide voor de gegevens te maken:

 #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() 

Leeftijdspiramide in Python

De grafiek laat zien dat de verdeling van mannen en vrouwen tamelijk symmetrisch is, waarbij het grootste deel van de bevolking tot de middelbare leeftijdscategorie behoort. Door simpelweg naar deze grafiek te kijken, kunnen we een goed beeld krijgen van de demografie van dit specifieke land.

Merk op dat u de kleuren van de plotachtergrond en individuele balken kunt aanpassen door de kleuren op te geven in de matplotlib-kleurenlijst .

We kunnen bijvoorbeeld ‚hotpink‘ en ‚dodgerblue‘ specificeren voor gebruik met een ‚beige‘ achtergrond:

 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() 

Python-populatiepiramide met een ander kleurenpalet

Voel je vrij om het kleurenpalet te veranderen op basis van wat voor jou het beste lijkt.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert