„Python“

„Python Matplotlib“ pamoka

„Python Matplotlib“ pamoka
Šioje „Python Matplotlib“ bibliotekos pamokoje apžvelgsime įvairius šios duomenų vizualizavimo bibliotekos aspektus, kuriuos galime naudoti kartu su „Python“, kad sugeneruotume gražius ir intuityvius grafikus, kurie galėtų vizualizuoti duomenis tokia forma, kokios nori verslas iš platformos. Kad ši pamoka būtų baigta, apimsime šiuos skyrius:

Kas yra „Python Matplotlib“?

Matplotlibas.pyplot yra grafikų braižymo paketas, kuris gali būti naudojamas kuriant dvimatę grafiką naudojant „Python“ programavimo kalbą. Dėl savo kištuko pobūdžio šį paketą galima naudoti bet kurioje GUI programoje, žiniatinklio programų serveriuose ar paprastuose „Python“ scenarijuose. Kai kurie įrankių rinkiniai, išplėsti „Python Matplotlib“ funkcionalumą, yra šie:

Prieš pradėdami atkreipkite dėmesį, kad šiai pamokai naudojame virtualią aplinką, kurią atlikome naudodami šią komandą:

pitonas -m virtualenv matplotlib
šaltinis matplotlib / bin / aktyvuoti

Kai virtuali aplinka bus aktyvi, mes galėsime įdiegti „Matplotlib“ biblioteką virtualioje aplinkoje, kad būtų galima vykdyti toliau sukurtus pavyzdžius:

pip įdiegti matplotlib

Mes matome kažką panašaus, kai vykdome pirmiau nurodytą komandą:

Taip pat galite naudoti „Anaconda“, kad paleistumėte šiuos pavyzdžius, o tai yra paprasčiau. Jei norite jį įdiegti savo kompiuteryje, peržiūrėkite pamoką, kurioje aprašyta „Kaip įdiegti„ Anaconda Python “į„ Ubuntu 18 “.04 LTS “ir pasidalykite savo atsiliepimais. Dabar pereikime prie įvairių tipų sklypų, kuriuos galima sukurti naudojant „Python Matplotlib“.

Sklypų tipai

Čia mes parodome siužetų tipus, kuriuos galima piešti naudojant „Python Matplotlib“.

Paprastas grafikas

Pirmasis pavyzdys, kurį pamatysime, bus paprasto grafiko diagrama. Šis pavyzdys naudojamas kaip pavyzdys parodyti, kaip paprasta sukonstruoti grafiko grafiką kartu su paprastais pritaikymais, kurie pateikiami kartu. Mes pradedame importuoti matplotlib ir apibrėžti x ir y koordinates, kurias norime nubrėžti:

iš matplotlib importo pyplot as plt
x = [3, 6, 9]
y = [2, 4, 6]

Po to grafike galime pavaizduoti šias koordinates ir parodyti:

plt.siužetas (x, y)
plt.Rodyti()

Tai vykdydami pamatysime šią schemą:


Turėdami vos kelias kodo eilutes, mes sugebėjome suplanuoti grafiką. Pridėkime keletą pritaikymų, kad ši diagrama būtų šiek tiek išraiškingesnė:

plt.pavadinimas („LH sklypas“)
plt.ylabel ('Y ašis')
plt.xlabel ('X ašis')

Pridėkite aukščiau esančias kodo eilutes prieš parodydami diagramą, o diagramoje bus etiketės:

Prieš parodydami siužetą, mes dar kartą bandysime pritaikyti šią diagramą, kad ji būtų intuityvi, naudodama šias kodo eilutes:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.pavadinimas („Informacija“)
plt.ylabel ('Y ašis')
plt.xlabel ('X ašis')
plt.diagrama (x1, y1, 'g', etiketė = '1 ketvirtis', linijos plotis = 5)
plt.diagrama (x2, y2, „r“, etiketė = „2 ketvirtis“, linijos plotis = 5)
plt.legenda ()
plt.tinklelis (tiesa, spalva = 'k')
plt.Rodyti()

Paleisdami pirmiau pateiktą kodo fragmentą, pamatysime šį diagramą:

Atkreipkite dėmesį, nuo ko pradėjome ir kuo baigėmės, labai intuityvus ir patrauklus grafikas, kurį galite naudoti savo pristatymuose ir kuris yra pagamintas naudojant gryną „Python“ kodą !

Juostos grafiko sudarymas

Juostinė diagrama yra ypač naudinga, kai norime palyginti platformą su konkrečiomis ir ribotomis priemonėmis. Pavyzdžiui, vidutinis studentų pažymių palyginimas su vienu dalyku yra geras pavyzdys. Sukonstruokime to paties naudojimo atvejo juostos diagramą čia, kodo fragmentas bus toks:

vid. ženklai = [81, 92, 55, 79]
fizika = [68, 77, 62, 74]
plt.juosta ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Vidutinis", plotis =.5)
plt.juosta ([.75, 1.75, 2.75, 3.75], fizika, etiketė = "Fizika", spalva = "r", plotis =.5)
plt.legenda ()
plt.xlabel ('Range')
plt.ylabel („Ženklai“)
plt.pavadinimas („Palyginimas“)
plt.Rodyti()

Juostinė diagrama, sukurta naudojant aukščiau pateiktus pavyzdinius duomenis, atrodys taip:

Čia yra keletas juostų, kad būtų galima palyginti. Atkreipkite dėmesį, kad mes nurodėme kiekvienos juostos plotį kaip pirmąjį parametrą, o juosta pasislinkusi 0.5 reikšmės iš ankstesnės.

Mes galime sujungti šią juostų diagramos konstrukciją su „Pandas“ biblioteka, kad galėtume tai labiau pritaikyti, tačiau mes ją apimsime kitoje „Pandas“ pamokoje.

Paskirstymai su histogramomis

Histogramos dažnai painiojamos su juostinėmis diagramomis. Esminis skirtumas yra jų naudojimo atvejis. Juostinės diagramos naudojamos duomenų palyginimui nustatyti, o histogramos naudojamos duomenų pasiskirstymui apibūdinti.

Pvz., Vėl pritaikykime pavyzdį studentų pažymiams, tačiau šį kartą mes žiūrėsime tik į vidutinius studentų pažymius ir pažiūrėsime, kaip jie paskirstomi. Čia yra kodo fragmentas, labai panašus į ankstesnį pavyzdį:

šiukšliadėžės = [0,10,20,30,40,50,60,70,80,90,100]
vid. ženklai = [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 („Ženklai“)
plt.pavadinimas („Palyginimas“)
plt.Rodyti()

Histograma, sukurta naudojant aukščiau pateiktus duomenų pavyzdžius, atrodys taip:

Y ašis rodo, kad kiek studentų turi tuos pačius pažymius, kurie buvo pateikti kaip statybos duomenys.

Sklaidos diagramos sudarymas

Kai reikia palyginti kelis kintamuosius ir nustatyti jų poveikį vienas kitam, sklaidos diagrama yra geras būdas pateikti tą patį. Šiuo atveju duomenys pateikiami kaip taškai, kurių vieno kintamojo vertė atsispindi horizontalioje ašyje, o antrojo kintamojo vertė lemia taško padėtį vertikalioje ašyje.

Pažvelkime į paprastą kodo fragmentą, apibūdinantį tą patį:

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.išsklaidyti (x, y, etiketė = '10 Geriausiai įvertintų studentų ', spalva =' r ')
plt.sklaida (x1, y1, etiketė = '10 Menkai įvertinę studentus ', spalva =' b ')
plt.„xlabel“ („Ženklai“)
plt.ylabel ('Studentų skaičius')
plt.pavadinimas („Sklaidos braižas“)
plt.legenda ()
plt.Rodyti()

Sklaidos diagrama, sukurta naudojant aukščiau pateiktus duomenų pavyzdžius, atrodys taip:

Ploto sklypai

Teritorijos diagramos daugiausia naudojamos duomenų pokyčiams stebėti laikui bėgant. Įvairiuose tekstuose jie taip pat vadinami siužetais. Pavyzdžiui, jei norime nustatyti laiko, kurį studentas investavo į kiekvieną dalyką per vieną dieną, reprezentaciją, tai yra kodas, pagal kurį galime padaryti tą patį:

dienos = [1,2,3,4,5]
fizika = [2,8,6,5,7]
pitonas = [5,4,6,4,1]
r = [7,9,4,3,1]
matematika = [8,5,7,8,13]
plt.diagrama ([], [], spalva = 'm', etiketė = 'fizika', linijos plotis = 5)
plt.diagrama ([], [], spalva = 'c', etiketė = 'Python', linijos plotis = 5)
plt.diagrama ([], [], spalva = 'r', etiketė = 'R', linijos plotis = 5)
plt.diagrama ([], [], spalva = 'k', etiketė = 'matematika', linijos plotis = 5)
plt.stackplot (dienos, fizika, pitonas, r, matematika, spalvos = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.pavadinimas („Stack Plot“)
plt.legenda ()
plt.Rodyti()

Ploto diagrama, sukurta naudojant aukščiau pateiktus pavyzdinius duomenis, atrodys taip:

Pirmiau pateiktoje išvadoje aiškiai nustatomas studento praleisto laiko skirtumas kiekviename dalyke, aiškiai nurodant skirtumą ir paskirstymą.

Skritulinės diagramos

Kai norime suskaidyti visą dalį į kelias dalis ir apibūdinti kiekvienos dalies užimtumą, skritulinė diagrama yra geras būdas pateikti šį pristatymą. Jis naudojamas rodyti duomenų procentą visame duomenų rinkinyje. Čia pateikiamas pagrindinis kodo fragmentas, norint sukurti paprastą skritulinę diagramą:

label = 'Python', 'C ++', 'Ruby', 'Java'
dydžiai = [225, 130, 245, 210]
spalvos = ['r', 'b', 'g', 'c']
sprogti = (0.1, 0, 0, 0) # sprogti 1-oji dalis
# Sklypas
plt.pyragas (dydžiai, sprogti = sprogti, etiketės = etiketės, spalvos = spalvos,
autopct = '% 1.1f %% ', šešėlis = tiesa, pradžia = 140)
plt.ašis („lygi“)
plt.Rodyti()

Skritulinė diagrama, sukurta naudojant aukščiau pateiktus duomenų pavyzdžius, atrodys taip:

Ankstesniuose skyriuose mes apžvelgėme įvairius grafinius komponentus, kuriuos galime sukonstruoti naudodamiesi „Matplotlib“ biblioteka, kad vaizduotume savo duomenis įvairiomis formomis ir intuityviai nustatytume skirtumus, tuo pačiu būdami statistiniai.

„Matplotlib“ funkcijos ir alternatyvos

Viena iš geriausių „matplotlib“ savybių yra ta, kad ji gali veikti daugelyje operacinių sistemų ir grafinių užpakalinių sistemų. Jis palaiko daugybę operacinių sistemų ir grafinę išvestį, į kurią mes žiūrėjome šioje pamokoje. Tai reiškia, kad galime tuo pasikliauti, kai reikia pateikti produkciją mums reikalingu būdu.

Yra daugybė kitų bibliotekų, kurios gali konkuruoti su „matplotlib“, pavyzdžiui:

  1. Jūros ragas
  2. Plotingai
  3. Ggplot2

Nors pirmiau minėtos bibliotekos gali pateikti keletą pažangių būdų aprašyti ir pateikti duomenis grafiniu būdu, tačiau „Matplotlib“ bibliotekos paprastumas ir veiksmingumas nėra neigiamas.

Išvada

Šioje pamokoje mes apžvelgėme įvairius šios duomenų vizualizavimo bibliotekos aspektus, kuriuos galime naudoti kartu su „Python“, kad sukurtume gražius ir intuityvius grafikus, kurie galėtų vizualizuoti duomenis tokia forma, kokios nori verslas iš platformos. „Matplotlib“ yra viena iš svarbiausių vizualizavimo bibliotekų, kai kalbama apie duomenų inžineriją ir duomenų pateikimą daugeliu vaizdinių formų, be abejo, įgūdžių, kuriuos turime turėti savo dirže.

Prašome pasidalinti savo atsiliepimais apie pamoką „Twitter“ su @sbmaggarwal ir @LinuxHint.

„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...
Vidutinis pelės mygtukas neveikia sistemoje „Windows 10“
The vidurinis pelės mygtukas padeda naršyti ilgus tinklalapius ir ekranus, kuriuose yra daug duomenų. Jei tai sustos, gerai, jūs naudosite klaviatūrą ...
Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...