Piton

Vodič za Python Matplotlib

Vodič za Python Matplotlib
U ovoj lekciji o biblioteci Python Matplotlib razmotrit ćemo različite aspekte ove biblioteke za vizualizaciju podataka koju možemo koristiti s Pythonom za generiranje lijepih i intuitivnih grafikona koji mogu vizualizirati podatke u obliku koji posao želi od platforme. Da bi ova lekcija bila cjelovita, obradit ćemo sljedeće odjeljke:

Što je Python Matplotlib?

Matplotlib.pyplot je paket za crtanje grafova koji se može koristiti za izradu dvodimenzionalne grafike pomoću programskog jezika Python. Zbog svoje prilagodljive prirode, ovaj se paket može koristiti u bilo kojem GUI programu, poslužiteljima web aplikacija ili jednostavnim Python skriptama. Neki alati koji proširuju funkcionalnost Python Matplotliba su:

Samo napominjemo prije početka da za ovu lekciju koristimo virtualno okruženje koje smo napravili sljedećom naredbom:

python -m virtualenv matplotlib
izvor matplotlib / bin / activate

Jednom kada je virtualno okruženje aktivno, možemo instalirati matplotlib knjižnicu unutar virtualnog okruženja, tako da se primjeri koje sljedeći kreiramo mogu izvršavati:

pip instalirati matplotlib

Otprilike ovako vidimo kad izvršimo gornju naredbu:

Anacondu možete koristiti i za pokretanje ovih primjera, što je lakše. Ako ga želite instalirati na svoj stroj, pogledajte lekciju koja opisuje „Kako instalirati Anaconda Python na Ubuntu 18.04 LTS ”i podijelite svoje povratne informacije. Sada krenimo naprijed prema različitim vrstama parcela koje se mogu konstruirati pomoću Python Matplotlib.

Vrste parcela

Ovdje prikazujemo tipove parcela koje se mogu nacrtati pomoću Python Matplotliba.

Jednostavan grafikon

Prvi primjer koji ćemo vidjeti bit će jednostavan grafički prikaz. Ovaj primjer koristi se kao demonstracija koliko je jednostavno konstruirati grafički prikaz zajedno s jednostavnim prilagodbama koje dolaze s njim. Počinjemo uvozom matplotlib i definiranjem x i y koordinata koje želimo ucrtati:

iz matplotlib import pyplot kao plt
x = [3, 6, 9]
y = [2, 4, 6]

Nakon toga možemo na grafikon ucrtati ove koordinate i prikazati ih:

plt.parcela (x, y)
plt.pokazati()

Kada ovo pokrenemo, vidjet ćemo sljedeći grafikon:


Uz samo nekoliko redaka koda uspjeli smo ucrtati grafikon. Dodajmo nekoliko prilagodbi kako bismo ovaj graf učinili malo izražajnijim:

plt.naslov ('LH zaplet')
plt.ylabel ('Y os')
plt.xlabel ('X os')

Dodajte gornje retke koda neposredno prije nego što prikažete crtež i grafikon će sada imati oznake:

Dat ćemo još jedan pokušaj prilagodbe ovog grafa kako bi postao intuitivan sa sljedećim redovima koda prije nego što prikažemo zaplet:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.naslov ('Informacije')
plt.ylabel ('Y os')
plt.xlabel ('X os')
plt.crtež (x1, y1, 'g', label = 'Kvartal 1', širina linije = 5)
plt.parcela (x2, y2, 'r', label = 'četvrtina 2', širina linije = 5)
plt.legenda()
plt.mreža (True, color = 'k')
plt.pokazati()

Sljedeći zaplet vidjet ćemo kad pokrenemo gornji isječak koda:

Primijetite s čime smo započeli, a što smo završili, vrlo intuitivnim i atraktivnim grafom koji možete koristiti u svojim prezentacijama, a napravljen je s čistim Python kodom, definitivno nečim za ponos !

Izrada trakasti grafikona

Trakasti grafikon posebno je koristan kad želimo usporediti platformu s određenim i ograničenim mjerama. Primjerice, dobar je slučaj usporedba prosječnih ocjena učenika s jednim predmetom. Konstruirajmo ovdje stupčasti grafikon za isti slučaj upotrebe, isječak koda za to bit će:

prosječne oznake = [81, 92, 55, 79]
fizika = [68, 77, 62, 74]
plt.traka ([0.25, 1.25, 2.25, 3.25], prosječne_oznake, label = "Prosječno", širina =.5)
plt.bar([.75, 1.75, 2.75, 3.75], fizika, oznaka = "Fizika", boja = 'r', širina =.5)
plt.legenda()
plt.xlabel ('Raspon')
plt.ylabel ('Oznake')
plt.naslov ('Usporedba')
plt.pokazati()

Trakasti grafikon stvoren s gornjim uzorcima podataka izgledat će ovako:

Ovdje je prisutno više traka za uspoređivanje. Imajte na umu da smo kao prve parametre naveli širinu svake trake, a traka je pomaknuta za 0.5 vrijednosti iz prethodne.

Ovu konstrukciju trakasti grafikona možemo kombinirati s bibliotekom Pandas da bismo je više prilagodili, ali obradit ćemo je u drugoj lekciji o Pandama.

Distribucije s histogramima

Histograme se često miješaju s trakastim kartama. Najosnovnija razlika leži u njihovom slučaju upotrebe. Trakasti grafikoni koriste se za uspoređivanje podataka, dok se histogrami koriste za opis distribucije podataka.

Na primjer, primijenimo primjer za ocjene učenika ponovno, ali ovaj put ćemo pogledati samo prosječne ocjene učenika i kako se raspoređuju. Evo isječka koda, vrlo sličnog prethodnom primjeru:

kante = [0,10,20,30,40,50,60,70,80,90,100]
prosječne_oznake = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (prosječne oznake, kante, histtype = 'traka', širina = 0.8)
plt.xlabel ('Raspon')
plt.ylabel ('Oznake')
plt.naslov ('Usporedba')
plt.pokazati()

Histogram stvoren s gore navedenim uzorcima podataka izgledat će ovako:

Y-os ovdje pokazuje koliko je učenika dobilo iste ocjene koje su pružene kao podaci za izgradnju.

Izrada raspršene parcele

Kada je riječ o usporedbi više varijabli i utvrđivanju njihovog učinka jedna na drugu, Scatter plot je dobar način da se predstave iste. U tome su podaci prikazani kao točke s vrijednošću jedne varijable koja se odražava vodoravnom osi, a vrijednost druge varijable određuje položaj točke na okomitoj osi.

Pogledajmo jednostavan isječak koda da bismo ga isto opisali:

x = [1,1.5,2,2.5,3,3.5,3.6]
y = [75,8,85,9,95,10,75]
x1 = [8,8.5,9,9.5,10,10.5,11]
y1 = [3,35,3.7,4,45,5,52]
plt.raspršivanje (x, y, label = '10 Učenici s najboljim bodovima ', color =' r ')
plt.raspršivanje (x1, y1, label = '10 Učenici s slabim bodovima ', color =' b ')
plt.xlabel ('Oznake')
plt.ylabel ('Broj učenika')
plt.naslov ('Scatter Plot')
plt.legenda()
plt.pokazati()

Grafikon raspršenja stvoren s gornjim podacima uzorka izgledat će ovako:

Parcele

Parcele područja uglavnom se koriste za praćenje promjena podataka tijekom vremena. Oni se u raznim tekstovima nazivaju i spletkama stogova. Na primjer, ako želimo uspostaviti prikaz vremena koje je student uložio u svaki predmet u jednom danu, evo koda s kojim možemo učiniti isto:

dana = [1,2,3,4,5]
fizika = [2,8,6,5,7]
piton = [5,4,6,4,1]
r = [7,9,4,3,1]
matematika = [8,5,7,8,13]
plt.zemljište ([], [], boja = 'm', label = 'Fizika', širina linije = 5)
plt.zaplet ([], [], boja = 'c', label = 'Python', širina linije = 5)
plt.crtanje ([], [], boja = 'r', oznaka = 'R', širina linije = 5)
plt.crtanje ([], [], boja = 'k', oznaka = 'Matematika', širina linije = 5)
plt.stackplot (dani, fizika, python, r, matematika, boje = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.naslov ('Stack Plot')
plt.legenda()
plt.pokazati()

Parcela površine stvorena s gore navedenim uzorcima podataka izgledat će ovako:

Gore navedeni rezultati jasno utvrđuju razliku u vremenu koje student provodi u svakom predmetu s jasnim načinom pružanja razlike i raspodjele.

Okrugli grafikoni

Kada želimo cjeloviti dio podijeliti na više dijelova i opisati količinu koju svaki dio zauzima, tortni grafikon je dobar način za prezentaciju. Koristi se za prikaz postotka podataka u kompletnom skupu podataka. Evo osnovnog isječka koda za izradu jednostavnog tortnog grafikona:

oznake = 'Python', 'C ++', 'Ruby', 'Java'
veličine = [225, 130, 245, 210]
boje = ['r', 'b', 'g', 'c']
eksplodirati = (0.1, 0, 0, 0) # eksplodira 1. kriška
# Zaplet
plt.pita (veličine, eksplodirati = eksplodirati, naljepnice = naljepnice, boje = boje,
autopct = '% 1.1f %% ', sjena = True, zvjezdica = 140)
plt.os ('jednako')
plt.pokazati()

Kružni grafikon stvoren s gornjim uzorcima podataka izgledat će ovako:

U gornjim smo odjeljcima pogledali razne grafičke komponente koje možemo konstruirati s bibliotekom Matplotlib kako bi predstavili naše podatke u raznim oblicima i na intuitivan način utvrdili razlike dok su statistički.

Značajke i alternative za Matplotlib

Jedna od najboljih karakteristika matplotliba je da može raditi na mnogim operativnim sustavima i grafičkim pozadinskim datotekama. Podržava desetke operativnih sustava i grafički izlaz koji smo pogledali u ovoj lekciji. To znači da na to možemo računati kada je u pitanju pružanje rezultata na način koji nam treba.

Prisutne su razne druge knjižnice koje se mogu natjecati s matplotlibom poput:

  1. Morski rog
  2. Kompletno
  3. Ggplot2

Iako bi gore spomenute knjižnice mogle predstaviti neke napredne načine opisivanja i prikazivanja podataka na grafički način, ali ne postoji poricanje jednostavnosti i djelotvornosti biblioteke matplotlib.

Zaključak

U ovoj smo lekciji pogledali različite aspekte ove biblioteke za vizualizaciju podataka koju možemo koristiti s Pythonom za generiranje lijepih i intuitivnih grafikona koji mogu vizualizirati podatke u obliku koji posao želi od platforme. Matplotlib je jedna od najvažnijih biblioteka za vizualizaciju kada je riječ o inženjerstvu podataka i predstavljanju podataka u većini vizualnih oblika, što je definitivno vještina koju trebamo imati ispod pojasa.

Molimo podijelite svoje povratne informacije o lekciji na Twitteru s @sbmaggarwal i @LinuxHint.

Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...