- Čo je Python Matplotlib?
- Typy grafov, ktoré môžeme zostrojiť, napríklad stĺpcový graf, histogram, bodový graf, plošný graf a graf Pe
- Práca s viacerými grafmi
- Niektoré alternatívy pre Python Matplotlib
Čo je Python Matplotlib?
Matplotlib.pyplot je balík na vykreslenie grafov, ktorý je možné použiť na zostrojenie dvojrozmernej grafiky pomocou programovacieho jazyka Python. Vzhľadom na svoju zásuvnú povahu je možné tento balík použiť v ľubovoľných aplikáciách GUI, webových aplikačných serveroch alebo jednoduchých skriptoch Pythonu. Niektoré sady nástrojov, ktoré rozširujú funkčnosť Pythonu Matplotlib, sú:
- Základná mapa je knižnica vykresľovania máp, ktorá poskytuje funkcie na vytváranie mapových projektov, pobrežných línií a politických hraníc
- Natgrid je možné použiť na zoskupenie nepravidelných údajov do medzery
- Excel nástroje možno použiť na výmenu údajov medzi programami MS Excel a Matplotlib
- Cartopy je oveľa zložitejšia mapovacia knižnica, ktorá dokonca poskytuje funkcie transformácie obrázkov okrem projekcií bodu, čiary a mnohouholníka
Pred začatím si treba uvedomiť, že na túto lekciu používame virtuálne prostredie, ktoré sme vytvorili pomocou nasledujúceho príkazu:
python -m virtualenv matplotlibzdroj matplotlib / bin / aktivovať
Keď je virtuálne prostredie aktívne, môžeme do virtuálneho env nainštalovať knižnicu matplotlib, aby bolo možné vykonať príklady, ktoré vytvoríme ďalej:
pip nainštalovať matplotlibVidíme niečo také, keď vykonáme vyššie uvedený príkaz:
Anacondu môžete tiež použiť na spustenie týchto príkladov, čo je jednoduchšie. Ak si ho chcete nainštalovať na svoj počítač, pozrite si lekciu, ktorá popisuje „Ako nainštalovať Anaconda Python na Ubuntu 18.04 LTS ”a podeľte sa o svoje pripomienky. Poďme teraz k ďalším typom grafov, ktoré je možné zostaviť pomocou Pythonu Matplotlib.
Druhy pozemkov
Tu demonštrujeme typy grafov, ktoré je možné vykresliť pomocou Pythonu Matplotlib.
Jednoduchý graf
Prvý príklad, ktorý uvidíme, bude jednoduchý grafový graf. Tento príklad slúži ako ukážka toho, aké jednoduché je zostaviť graf grafu spolu s jednoduchými prispôsobeniami, ktoré sú s ním spojené. Začneme importom matplotlib a definovaním súradníc x a y, ktoré chceme vykresliť:
z matplotlib import pyplot ako pltx = [3, 6, 9]
y = [2, 4, 6]
Potom môžeme tieto súradnice vykresliť do grafu a zobraziť ich:
plt.zápletka (x, y)plt.šou()
Keď to spustíme, uvidíme nasledujúci graf:
Iba s niekoľkými riadkami kódu sme dokázali vykresliť graf. Pridajme niekoľko prispôsobení, aby bol tento graf trochu expresívnejší:
plt.ylabel („os Y“)
plt.štítok xla („os X“)
Pridajte vyššie riadky kódu tesne predtým, ako zobrazíte graf a graf bude mať štítky:
Skôr, ako ukážeme dej, dáme ešte jeden pokus prispôsobiť tento graf tak, aby bol intuitívny pomocou nasledujúcich riadkov kódu:
x1 = [3, 6, 9]y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.názov („Informácie“)
plt.ylabel („os Y“)
plt.štítok xla („os X“)
plt.graf (x1, y1, 'g', label = 'štvrťrok 1', šírka čiary = 5)
plt.graf (x2, y2, „r“, štítok = „štvrťrok 2“, šírka čiary = 5)
plt.legenda ()
plt.mriežka (True, color = 'k')
plt.šou()
Po spustení vyššie uvedeného fragmentu kódu uvidíme nasledujúci graf:
Všimnite si, s čím sme začali a s čím sme skončili, veľmi intuitívny a atraktívny graf, ktorý môžete použiť pri svojich prezentáciách a je vyrobený pomocou čistého kódu v jazyku Python !
Vytvorenie stĺpcového grafu
Stĺpcový graf je obzvlášť užitočný, ak chceme vytvoriť platformu na porovnanie s konkrétnymi a obmedzenými mierami. Dobrým príkladom je napríklad porovnanie priemerných známok študentov z jedného predmetu. Vytvorme tu stĺpcový graf pre rovnaký prípad použitia, útržok kódu bude:
avg_marks = [81, 92, 55, 79]fyzika = [68, 77, 62, 74]
plt.lišta ([0.25, 1.25, 2.25, 3.25], priem. Značky, štítok = "priemerný", šírka =.5)
plt.bar ([.75, 1.75, 2.75, 3.75], fyzika, štítok = "Fyzika", farba = 'r', šírka =.5)
plt.legenda ()
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.nadpis („Porovnanie“)
plt.šou()
Stĺpcový graf vytvorený z vyššie uvedených vzorových údajov bude vyzerať takto:
Na vytvorenie porovnania je tu niekoľko pruhov. Upozorňujeme, že ako prvé parametre sme poskytli šírku každej lišty a lišta je posunutá o 0.5 hodnôt z predchádzajúcej.
Túto konštrukciu stĺpcového grafu môžeme skombinovať s knižnicou Pandas, aby sme si ju mohli viac prispôsobiť, ale budeme sa jej venovať v inej lekcii o Pandas.
Distribúcie s histogramami
Histogramy sú často zamieňané s pruhovými grafmi. Najzákladnejší rozdiel spočíva v ich prípade použitia. Stĺpcové grafy sa používajú na vytvorenie porovnania medzi údajmi, zatiaľ čo histogramy sa používajú na opis distribúcie údajov.
Použime napríklad príklad opäť pre študentské známky, ale tentokrát sa pozrieme iba na priemerné známky študentov a na to, ako sú rozdelené. Tu je útržok kódu, veľmi podobný predchádzajúcemu príkladu:
koše = [0,10,20,30,40,50,60,70,80,90,100]avg_marks = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (avg_marks, bins, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.nadpis („Porovnanie“)
plt.šou()
Histogram vytvorený z vyššie uvedených vzorových údajov bude vyzerať takto:
Os Y tu ukazuje, že koľko študentov získalo rovnaké známky, aké boli poskytnuté ako údaje pre stavbu.
Vytvorenie bodového grafu
Pokiaľ ide o porovnanie viacerých premenných a zistenie ich vzájomného vplyvu, bodový graf je dobrý spôsob, ako prezentovať rovnaké premenné. V tomto sú dáta reprezentované ako body s hodnotou jednej premennej odrážanej vodorovnou osou a hodnota druhej premennej určuje polohu bodu na zvislej osi.
Pozrime sa na jednoduchý útržok kódu, ktorý to popíše:
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.bodový (x, y, štítok = '10 vysoko skórujúcich študentov ', farba =' r ')
plt.bodový (x1, y1, štítok = '10 študentov s nízkym skóre ', farba =' b ')
plt.xlabel ('Marks')
plt.ylabel ('Počet študentov')
plt.názov („Scatter Plot“)
plt.legenda ()
plt.šou()
Bodový graf vytvorený pomocou vyššie uvedených vzorových údajov bude vyzerať nasledovne:
Plošné pozemky
Plošné pozemky sa používajú hlavne na sledovanie zmien údajov v priebehu času. V rôznych textoch sa tiež nazývajú ako komplexy. Napríklad, ak chceme vytvoriť znázornenie času investovaného študentom do každého predmetu v jednom dni, tu je kód, pomocou ktorého môžeme urobiť to isté:
dni = [1,2,3,4,5]fyzika = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matematika = [8,5,7,8,13]
plt.graf ([], [], color = 'm', label = 'fyzika', šírka čiary = 5)
plt.plot ([], [], color = 'c', label = 'Python', linewidth = 5)
plt.plot ([], [], color = 'r', label = 'R', šírka čiary = 5)
plt.plot ([], [], color = 'k', label = 'matematické', šírka čiary = 5)
plt.stackplot (dni, fyzika, python, r, matematika, farby = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.nadpis ('Spiknutie zásobníka')
plt.legenda ()
plt.šou()
Plošný graf vytvorený pomocou vyššie uvedených vzorových údajov bude vyzerať takto:
Vyššie uvedený výstup jasne stanovuje rozdiel v čase strávenom študentom v jednotlivých predmetoch s jasným spôsobom poskytnutia rozdielu a distribúcie.
Koláčové grafy
Ak chceme rozdeliť celú časť na viac častí a opísať množstvo, ktoré každá časť zaberá, je vhodný tento koláčový graf. Používa sa na zobrazenie percenta údajov v kompletnej sade údajov. Tu je základný úryvok kódu na vytvorenie jednoduchého koláčového grafu:
labels = 'Python', 'C ++', 'Ruby', 'Java'veľkosti = [225, 130, 245, 210]
colors = ['r', 'b', 'g', 'c']
explodovať = (0.1, 0, 0, 0) # explodovať 1. plátok
# Plot
plt.koláč (veľkosti, explodovať = explodovať, štítky = štítky, farby = farby,
autopct = '% 1.1f %% ', tieň = pravda, počiatočný uhol = 140)
plt.os („rovnaká“)
plt.šou()
Koláčový graf vytvorený z vyššie uvedených vzorových údajov bude vyzerať nasledovne:
Vo vyššie uvedených častiach sme sa pozreli na rôzne grafické komponenty, ktoré môžeme zostaviť pomocou knižnice Matplotlib tak, aby reprezentovali naše dáta v rôznych formách a aby sme zistili rozdiely intuitívne a zároveň aby boli štatistické.
Vlastnosti a alternatívy pre Matplotlib
Jednou z najlepších funkcií matplotlibu je to, že môže pracovať na mnohých operačných systémoch a grafických backendoch. Podporuje desiatky operačných systémov a grafický výstup, na ktoré sme sa zamerali v tejto lekcii. To znamená, že sa na to môžeme spoľahnúť, pokiaľ ide o poskytovanie výstupu spôsobom, ktorý potrebujeme.
Existuje mnoho ďalších knižníc, ktoré môžu konkurovať matplotlib, ako napríklad:
- Seahorn
- Sprisahanecky
- Ggplot2
Aj keď vyššie uvedené knižnice môžu predstavovať niektoré pokročilé spôsoby, ako graficky popísať a prezentovať údaje, v jednoduchosti a efektívnosti knižnice matplotlib sa nedá poprieť.
Záver
V tejto lekcii sme sa pozreli na rôzne aspekty tejto knižnice vizualizácie údajov, ktorú môžeme pomocou programu Python použiť na generovanie krásnych a intuitívnych grafov, ktoré dokážu vizualizovať údaje vo forme, ktorú chce podnik, z platformy. Matplotlib je jednou z najdôležitejších vizualizačných knižníc, pokiaľ ide o dátové inžinierstvo a prezentáciu údajov vo väčšine vizuálnych foriem, čo je určite zručnosť, ktorú musíme mať pod opaskom.
Podeľte sa o svoju spätnú väzbu k lekcii na Twitteri s @sbmaggarwal a @LinuxHint.