Python'da pareto grafiği nasıl oluşturulur (adım adım)
Pareto grafiği, kategorilerin sıralı sıklıklarının yanı sıra kategorilerin kümülatif sıklıklarını da görüntüleyen bir grafik türüdür.
Bu eğitimde Python’da Pareto grafiği oluşturmaya yönelik adım adım bir örnek sunulmaktadır.
1. Adım: Verileri oluşturun
350 farklı kişiden A, B, C, D ve E markaları arasından en sevdikleri tahıl markasını belirtmelerini istediğimiz bir anket yaptığımızı varsayalım.
Anket sonuçlarını tutmak için aşağıdaki pandalar DataFrame’i oluşturabiliriz:
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
Adım 2: Pareto Grafiği Oluşturun
Pareto grafiğini oluşturmak için aşağıdaki kodu kullanabiliriz:
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 ()
X ekseni, farklı markaları en yüksekten en düşüğe doğru sıralayarak görüntüler.
Sol y ekseni her markanın sıklığını, sağ y ekseni ise markaların kümülatif sıklığını göstermektedir.
Örneğin şunu görebiliriz:
- A Markası, toplam anket yanıtlarının yaklaşık %40’ını temsil etmektedir.
- A ve B markaları toplam anket yanıtlarının yaklaşık %70’ini temsil etmektedir.
- A, B ve C markaları toplam anket yanıtlarının yaklaşık %85’ini temsil etmektedir.
Ve benzeri.
3. Adım: Pareto grafiğini özelleştirin (isteğe bağlı)
Pareto grafiğinin istediğiniz gibi görünmesini sağlamak için çubuk renklerini ve kümülatif yüzde çizgisinin boyutunu değiştirebilirsiniz.
Örneğin, çubukları pembeye, çizgiyi ise mor ve biraz daha kalın hale getirebiliriz:
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 ()
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın görselleştirmelerin nasıl oluşturulacağı açıklanmaktadır:
Python’da Çan Eğrisi Nasıl Oluşturulur
Python’da Ogive Grafiği Nasıl Oluşturulur
Python’da Kök ve Yaprak Grafiği Nasıl Oluşturulur