Cara membuat bagan pareto dengan python (langkah demi langkah)
Bagan Pareto adalah jenis bagan yang menampilkan frekuensi kategori yang diurutkan serta frekuensi kumulatif kategori.
Tutorial ini memberikan contoh langkah demi langkah membuat bagan Pareto dengan Python.
Langkah 1: Buat datanya
Misalkan kita melakukan survei yang meminta 350 orang berbeda untuk mengidentifikasi merek sereal favorit mereka antara merek A, B, C, D, dan E.
Kita dapat membuat DataFrame panda berikut untuk menampung hasil survei:
import pandas as pd #createDataFrame df = pd. DataFrame ({' count ': [97, 140, 58, 6, 17, 32]}) df. index = ['B', 'A', 'C', 'F', 'E', 'D'] #sort DataFrame by count descending df = df. sort_values (by=' count ', ascending= False ) #add column to display cumulative percentage df[' cumperc '] = df[' count ']. cumsum ()/df[' count ']. sum ()*100 #view DataFrame df count cumperc At 140 40.000000 B 97 67.714286 C 58 84.285714 D 32 93.428571 E 17 98.285714 F 6 100.000000
Langkah 2: Buat Bagan Pareto
Kita dapat menggunakan kode berikut untuk membuat diagram Pareto:
import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter
#define aesthetics for plot
color1 = ' steelblue '
color2 = ' red '
line_size = 4
#create basic bar plot
fig, ax = plt. subplots ()
ax. bar (df. index , df[' count '], color=color1)
#add cumulative percentage line to plot
ax2 = ax. twinx ()
ax2. plot ( df.index , df[' cumperc '], color=color2, marker=" D ", ms=line_size)
ax2. yaxis . set_major_formatter (PercentFormatter())
#specify axis colors
ax. tick_params (axis=' y ', colors=color1)
ax2. tick_params (axis=' y ', colors=color2)
#display Pareto chart
plt. show ()
Sumbu X menampilkan berbagai merek yang diurutkan dari frekuensi tertinggi hingga terendah.
Sumbu y kiri menunjukkan frekuensi masing-masing merek dan sumbu y kanan menunjukkan frekuensi kumulatif merek.
Misalnya, kita dapat melihat:
- Merek A mewakili sekitar 40% dari total tanggapan survei.
- Merek A dan B mewakili sekitar 70% dari total tanggapan survei.
- Merek A, B, dan C mewakili sekitar 85% dari total tanggapan survei.
Dan seterusnya.
Langkah 3: Sesuaikan bagan Pareto (opsional)
Anda dapat mengubah warna batang dan ukuran garis persentase kumulatif untuk membuat bagan Pareto terlihat sesuai keinginan Anda.
Misalnya, kita dapat mengubah batang menjadi merah muda dan garis menjadi ungu dan sedikit lebih tebal:
import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter
#define aesthetics for plot
color1 = ' pink '
color2 = ' purple '
line_size = 6
#create basic bar plot
fig, ax = plt. subplots ()
ax. bar (df. index , df[' count '], color=color1)
#add cumulative percentage line to plot
ax2 = ax. twinx ()
ax2. plot (df.index , df[' cumperc '], color=color2, marker=" D ", ms=line_size )
ax2. yaxis . set_major_formatter (PercentFormatter())
#specify axis colors
ax. tick_params (axis=' y ', colors=color1)
ax2. tick_params (axis=' y ', colors=color2)
#display Pareto chart
plt. show ()
Sumber daya tambahan
Tutorial berikut menjelaskan cara membuat visualisasi umum lainnya dengan Python:
Cara Membuat Kurva Lonceng dengan Python
Cara Membuat Bagan Ogive dengan Python
Cara Membuat Plot Batang dan Daun dengan Python