Jak utworzyć wykres pareto w pythonie (krok po kroku)


Wykres Pareto to rodzaj wykresu przedstawiający uporządkowaną częstość kategorii, a także skumulowaną częstość kategorii.

Wykres Pareto w Pythonie

W tym samouczku przedstawiono krok po kroku przykład tworzenia wykresu Pareto w języku Python.

Krok 1: Utwórz dane

Załóżmy, że przeprowadzamy ankietę, w której prosimy 350 różnych osób o wskazanie ich ulubionej marki płatków śniadaniowych spośród marek A, B, C, D i E.

Możemy utworzyć następującą pandę DataFrame do przechowywania wyników ankiety:

 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

Krok 2: Utwórz wykres Pareto

Do utworzenia wykresu Pareto możemy użyć następującego kodu:

 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 ()

Wykres Pareto w Pythonie

Oś X wyświetla różne marki w kolejności od najwyższej do najniższej częstotliwości.

Lewa oś Y pokazuje częstotliwość występowania każdej marki, a prawa oś Y pokazuje skumulowaną częstotliwość występowania marek.

Na przykład możemy zobaczyć:

  • Marka A reprezentuje około 40% wszystkich odpowiedzi w ankiecie.
  • Marki A i B reprezentują około 70% wszystkich odpowiedzi w ankiecie.
  • Marki A, B i C reprezentują około 85% wszystkich odpowiedzi w ankiecie.

I tak dalej.

Krok 3: Dostosuj wykres Pareto (opcjonalnie)

Możesz zmienić kolory słupków i rozmiar linii skumulowanych wartości procentowych, aby wykres Pareto wyglądał tak, jak chcesz.

Na przykład moglibyśmy zmienić paski na różowe, a linię na fioletową i nieco grubszą:

 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 () 

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak tworzyć inne popularne wizualizacje w Pythonie:

Jak utworzyć krzywą dzwonową w Pythonie
Jak utworzyć wykres ostrołukowy w Pythonie
Jak utworzyć wykres łodygi i liści w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *