Home » python » Matplotlib Diagram Pie: Code dan Cara Membuatnya

Matplotlib Diagram Pie: Code dan Cara Membuatnya

by Catur Kurnia Sari
by Catur Kurnia Sari

Membuat Diagram Pie

Dengan Pyplot, kita dapat menggunakan fungsi pie() untuk menggambar diagram pie.

Contoh:
Diagram pie sederhana

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])

plt.pie(y)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Seperti yang kita lihat, diagram pie menggambar satu bagian (disebut irisan) untuk setiap nilai dalam array (dalam hal ini [35, 25, 25, 15]).

Secara default, plotting irisan pertama dimulai dari sumbu x dan bergerak berlawanan arah jarum jam:

Catatan: Ukuran setiap irisan ditentukan dengan membandingkan nilai dengan semua nilai lainnya, dengan menggunakan rumus ini:
Nilai dibagi dengan jumlah semua nilai: x / jumlah (x)

Label

Tambahkan label ke diagram pie dengan menggunakan parameter label.

Parameter label harus berupa array dengan satu label untuk setiap irisan:

Contoh:
Diagram pie sederhana

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Sudut Awal

Seperti yang disebutkan, sudut awal default berada pada sumbu x, tetapi kita dapat mengubah sudut awal dengan menentukan parameter startangle.

Parameter startangle ditentukan dengan sudut dalam derajat, sudut default adalah 0:

Contoh
Mulai irisan pertama pada 90 derajat:

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels, startangle = 90)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Explode

Mungkin kita ingin salah satu irisan terlihat lebih menonjol? Parameter explode memungkinkan untuk melakukan itu.

Parameter explode, jika ditentukan, dan bukan None, harus berupa array dengan satu nilai untuk setiap irisan.

Setiap nilai mewakili seberapa jauh dari pusat setiap irisan ditampilkan:

Contoh:
Tarik irisan “Apple” 0,2 dari bagian tengah pie

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]

plt.pie(y, labels = mylabels, explode = myexplode)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Bayangan

Tambahkan bayangan pada diagram pie dengan mengatur parameter shadow menjadi True.

Contoh:
Tambahkan bayangan

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]

plt.pie(y, labels = mylabels, explode = myexplode, shadow = True)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Warna

Kita dapat mengatur warna setiap irisan dengan parameter color.

Parameter color, jika ditentukan, harus berupa array dengan satu nilai untuk setiap irisan.

Contoh:
Tentukan warna baru untuk setiap irisan

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]

plt.pie(y, labels = mylabels, colors = mycolors)
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Kita dapat menggunakan nilai warna Heksadesimal, salah satu dari 140 nama warna yang didukung, atau salah satu pintasan berikut untuk menentukan warna diagram pie.

‘r’ – Merah
‘g’ – Hijau
‘b’ – Biru
‘c’ – Cyan
‘m’ – Magenta
‘y’ – Kuning
‘k’ – Hitam
‘w’ – Putih

Legend

Untuk menambahkan penjelasan pada setiap irisan, gunakan fungsi legend()

Contoh:
Tambahkan legend

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend()
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

Legend Dengan Header

Untuk menambahkan header pada legenda, tambahkan parameter title pada fungsi legend.

Contoh:
Tambahkan legend dengan judul

import sys
import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show() 

plt.savefig(sys.stdout.buffer)
sys.stdout.flush()

Hasilnya:

You may also like