Cara membuat piramida penduduk dengan python
Piramida penduduk adalah grafik yang menunjukkan sebaran umur dan jenis kelamin suatu penduduk. Hal ini berguna untuk memahami komposisi penduduk dan tren pertumbuhan penduduk.
Tutorial ini menjelaskan cara membuat piramida populasi berikut dengan Python:
Piramida usia dengan Python
Misalkan kita memiliki kumpulan data berikut yang menampilkan total populasi pria dan wanita berdasarkan kelompok umur di suatu negara:
#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
Kita dapat menggunakan kode berikut untuk membuat piramida populasi untuk datanya:
#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()
Grafik tersebut menunjukkan bahwa sebaran penduduk laki-laki dan perempuan cukup simetris, dengan sebagian besar penduduk berada pada kelompok usia paruh baya. Hanya dengan melihat grafik ini, kita bisa mendapatkan gambaran bagus tentang demografi negara tertentu.
Perhatikan bahwa Anda dapat menyesuaikan warna latar belakang plot dan masing-masing batang dengan menentukan warna dalam daftar warna matplotlib .
Misalnya, kita dapat menentukan “hotpink” dan “dodgerblue” untuk digunakan dengan latar belakang “beige”:
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()
Jangan ragu untuk mengubah palet warna berdasarkan apa yang menurut Anda terbaik.