Anda di halaman 1dari 3

Yuk membuat dan menampilkan grafik piramida di python-

matplotlib
softscients.com/2020/07/05/yuk-membuat-dan-menampilkan-grafik-piramida-di-python-matplotlib/

mulkan syarif July 5, 2020

softscients.com | Grafik pyramid pada package matplotlib belum tersedia khusus,


namun demikian kita bisa melakukan modifikasi dengan membaginya melalui subplot
yang terdiri dari 2 kolom. Lebih dari cukup sih daripada ribet-ribet, berikut tampilan
dari grafik pyramid matplotlib sebagai bahan tambahan karena di buku kami belum ada
dibahas

Dataset
Dataset yang kita gunakan diambil dari https://softscients.com/2020/07/04/menjadi-
cerdas-melalui-grafik-piramida-dan-teknik-query-data/ yaitu penduduk.csv

1/3
males,females,ages
4882,4573,0-4
5664,5286,5-9
5373,5124,10-14
5545,5255,15-19
4775,4558,20-24
5030,4090,25-29
5043,4634,30-34
6061,5685,35-39
5357,4711,40-44
4519,3925,45-49
3357,3072,50-54
2699,2694,55-59
2123,2176,60-64
1528,1616,65-69
873,929,70-74
938,1271,75+

Function untuk membuat Grafik Pyramid di Matplotlib


Berikut kode yang digunakan untuk modifikasi grafiknya, sedikit koq kodenya

def pyramid_plot(ylabels, data_left, xlabel_left, data_right, xlabel_right, fig=None, **kwargs):


if(fig is None):
fig = plt.figure()

y_pos = np.arange(len(ylabels))
empty_ticks = tuple('' for n in ylabels)

fig.add_subplot(121) #bagian kiri


plt.barh(y_pos, data_left, **kwargs)
plt.yticks(y_pos, empty_ticks)
oldlims = plt.gca().get_xlim()
plt.axis(xmin=oldlims[1], xmax=oldlims[0])
plt.xlabel(xlabel_left)

fig.add_subplot(122) #bagian kanan


plt.barh(y_pos, data_right, **kwargs)
plt.yticks(y_pos, ylabels)
plt.xlabel(xlabel_right)

return fig

Ternyata membuat grafik pyramid menggunakan python-matplotlib sangatlah mudah,


berikut kode lengkap ketika akan menggunakan function diatas

2/3
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

def pyramid_plot(ylabels, data_left, xlabel_left, data_right, xlabel_right, fig=None, **kwargs):


if(fig is None):
fig = plt.figure()

y_pos = np.arange(len(ylabels))
empty_ticks = tuple('' for n in ylabels)

fig.add_subplot(121) #bagian kiri


plt.barh(y_pos, data_left, **kwargs)
plt.yticks(y_pos, empty_ticks)
oldlims = plt.gca().get_xlim()
plt.axis(xmin=oldlims[1], xmax=oldlims[0])
plt.xlabel(xlabel_left)

fig.add_subplot(122) #bagian kanan


plt.barh(y_pos, data_right, **kwargs)
plt.yticks(y_pos, ylabels)
plt.xlabel(xlabel_right)

return fig

data = pd.read_csv('data penduduk.txt')

umur = data['ages']
laki_laki = data['males']
perempuan = data['females']

# Plot the data


pyrfig = plt.figure(1)
pyrfig = pyramid_plot(umur,
laki_laki, 'laki-laki',
perempuan, 'perempuan',
pyrfig, align='center', alpha=0.4)
pyrfig.suptitle('Sebaran laki-laki dan perempuan')
pyrfig.set_figwidth(1.5*pyrfig.get_figheight())
plt.show(pyrfig)

Bagaimana menurut kalian? membuat dan menampilkan grafik piramida di python-


matplotlib, sangat mudah bukan?

3/3

Anda mungkin juga menyukai