Python

Pythoni Matplotlibi õpetus

Pythoni Matplotlibi õpetus
Selles Pythoni Matplotlibi teegi õppetükis vaatleme selle andmevisualiseerimise teegi erinevaid aspekte, mida saame Pythoniga kasutada ilusate ja intuitiivsete graafikute loomiseks, mis suudavad andmeid visualiseerida ettevõttele soovitud kujul. Selle õppetunni lõpetamiseks käsitleme järgmisi jaotisi:

Mis on Python Matplotlib?

Matplotlib.pyplot on graafikute joonistamise pakett, mida saab kasutada kahemõõtmelise graafika koostamiseks Pythoni programmeerimiskeele abil. Pistetava olemuse tõttu saab seda paketti kasutada mis tahes GUI-rakendustes, veebirakendusserverites või lihtsates Pythoni skriptides. Mõned tööriistakomplektid, mis laiendavad Pythoni Matplotlibi funktsionaalsust, on:

Enne alustamist tuleb märkida, et selle õppetunni jaoks kasutame virtuaalset keskkonda, mille tegime järgmise käsuga:

python -m virtualenv matplotlib
allikas matplotlib / bin / activate

Kui virtuaalne keskkond on aktiivne, saame installida matplotlibi teegi virtuaalsesse env-sse, et saaksime järgmiselt loodud näited täita:

pip installima matplotlib

Ülaloleva käsu täitmisel näeme midagi sellist:

Nende näidete käitamiseks võite kasutada ka Anaconda, mis on lihtsam. Kui soovite selle oma arvutisse installida, vaadake õppetundi, mis kirjeldab artiklit „Kuidas Anaconda Pythoni installida Ubuntu 18.04 LTS ”ja jagage tagasisidet. Nüüd liigume edasi erinevat tüüpi proovitükkide juurde, mida saab Python Matplotlibiga konstrueerida.

Kruntide tüübid

Siin demonstreerime proovitükkide tüüpe, mida saab Python Matplotlibiga joonistada.

Lihtne graafik

Esimene näide, mida näeme, on lihtne graafiku graafik. Seda näidet kasutatakse demonstreerimaks, kui lihtne on graafiku graafiku koostamine koos sellega kaasnevate lihtsate kohandustega. Alustame matplotlibi importimisega ja x ja y koordinaatide määratlemisega, mida me tahame joonistada:

matplotlibilt impordi püplot plt-na
x = [3, 6, 9]
y = [2, 4, 6]

Pärast seda saame need koordinaadid graafikule joonistada ja seda näidata:

plt.joonis (x, y)
plt.näita ()

Selle käivitamisel näeme järgmist graafikut:


Vaid mõne koodirea abil suutsime graafiku koostada. Lisage mõned kohandused, et muuta see graafik veidi väljendusrikkamaks:

plt.pealkiri ('LH joonis')
plt.ylabel ('Y-telg')
plt.xlabel ('X-telg')

Lisage ülaltoodud koodiread vahetult enne graafiku kuvamist ja graafikul on nüüd sildid:

Enne graafiku näitamist anname veel ühe katse selle graafiku kohandamiseks, et see oleks intuitiivne järgmiste koodiridadega:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.pealkiri ('Info')
plt.ylabel ('Y-telg')
plt.xlabel ('X-telg')
plt.joonis (x1, y1, 'g', silt = '1. kvartal', rea laius = 5)
plt.joonis (x2, y2, 'r', silt = '2. kvartal', joone laius = 5)
plt.legend()
plt.ruudustik (tõsi, värv = 'k')
plt.näita ()

Ülaltoodud koodilõigu käivitamisel näeme järgmist joonist:

Pange tähele, millest me alustasime ja millega lõpuks jõudsime, väga intuitiivne ja atraktiivne graafik, mida saate oma esitlustes kasutada ja see on tehtud puhta Pythoni koodiga, kindlasti millegi üle uhke olla !

Tulpdiagrammi tegemine

Tulpdiagramm on eriti kasulik, kui tahame võrrelda konkreetsete ja piiratud meetmetega. Näiteks on õpilaste keskmise hinde võrdlemine ühe õppeainega hea juhtum. Ehitagem siin sama kasutusjuhtumi jaoks tulpdiagramm, selle koodilõik on:

keskm. märgid = [81, 92, 55, 79]
füüsika = [68, 77, 62, 74]
plt.riba ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Keskmine", width =.5)
plt.riba ([.75, 1.75, 2.75, 3.75], füüsika, silt = "Füüsika", värv = 'r', laius =.5)
plt.legend()
plt.xlabel ('Range')
plt.ylabel ('märgid')
plt.pealkiri ("võrdlus")
plt.näita ()

Ülaltoodud näidisandmetega loodud tulpdiagramm näeb välja järgmine:

Võrdluse loomiseks on siin mitu riba. Pange tähele, et esimese parameetrina oleme esitanud iga riba laiuse ja riba on nihutatud 0.5 väärtust eelmisest.

Saame selle tulpdiagrammi ehituse kombineerida Pandase teegiga, et seda rohkem kohandada, kuid käsitleme seda teises pandade õppetükis.

Jaotused histogrammidega

Histogramme aetakse tihti segi tulpdiagrammidega. Põhiline erinevus seisneb nende kasutamises. Andmevõrdluste loomiseks kasutatakse tulpdiagramme, andmete jaotuse kirjeldamiseks histogramme.

Näiteks rakendagem näidet õpilasemärkide jaoks uuesti, kuid seekord vaatleme ainult õpilaste keskmisi hindeid ja kuidas neid jaotatakse. Siin on koodilõik, mis on väga sarnane eelmise näitega:

prügikastid = [0,10,20,30,40,50,60,70,80,90,100]
keskm. märgid = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (avg_marks, prügikastid, histtype = 'riba', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('märgid')
plt.pealkiri ('võrdlus')
plt.näita ()

Ülaltoodud näidisandmetega loodud histogramm näeb välja järgmine:

Y-telg näitab siin, et mitu õpilast on saanud samad märgid, mis esitati ehituse andmetena.

Hajutamisgraafiku tegemine

Kui tegemist on mitme muutuja võrdlemisega ja nende mõju kindlaksmääramisele üksteisele, on hajuvusdiagramm hea viis esitada sama. Selles on andmed kujutatud punktidena, mille ühe muutuja väärtus peegeldub horisontaalteljel ja teise muutuja väärtus määrab punkti asendi vertikaalteljel.

Vaatame sama kirjeldamiseks lihtsat koodilõiku:

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.hajumine (x, y, silt = '10 Parima tulemusega õpilased ', värv =' r ')
plt.hajumine (x1, y1, silt = '10 Madalate tulemustega õpilased ', värv =' b ')
plt.xlabel ('märgid')
plt.ylabel ('Üliõpilaste arv')
plt.pealkiri ('Hajus graafik')
plt.legend()
plt.näita ()

Ülaltoodud näidisandmetega loodud hajuvusdiagramm näeb välja järgmine:

Piirkonna krundid

Piirkonnatükke kasutatakse peamiselt andmete muutuste jälgimiseks ajas. Erinevates tekstides nimetatakse neid ka virnatükkideks. Näiteks kui soovime luua ühe päeva jooksul õpilase igale õppeainele kulutatud aja esituse, on siin kood, millega saame sama teha:

päeva = [1,2,3,4,5]
füüsika = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matemaatika = [8,5,7,8,13]
plt.joonis ([], [], värv = 'm', silt = 'füüsika', joone laius = 5)
plt.joonis ([], [], värv = 'c', silt = 'Python', rea laius = 5)
plt.joonis ([], [], värv = 'r', silt = 'R', joone laius = 5)
plt.joonis ([], [], värv = 'k', silt = 'matemaatika', joone laius = 5)
plt.stackplot (päevad, füüsika, python, r, matemaatika, värvid = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.pealkiri ('Virnatükk')
plt.legend()
plt.näita ()

Ülaltoodud näidisandmetega loodud pindala näitab järgmist:

Ülaltoodud väljund määrab selgelt erinevuse õppuri veedetud aja kohta igas õppeaines, selgesti selgitades erinevust ja jaotust.

Pirukad

Kui tahame terve osa mitmeks osaks jagada ja kirjeldada iga osa hõivatud summat, on sektordiagramm selle esitluse jaoks hea viis. Seda kasutatakse andmete täieliku andmekogumi protsendi näitamiseks. Siin on põhiline koodilõik lihtsa sektordiagrammi koostamiseks:

tags = 'Python', 'C ++', 'Ruby', 'Java'
suurused = [225, 130, 245, 210]
värvid = ['r', 'b', 'g', 'c']
plahvatada = (0.1, 0, 0, 0) # plahvatab 1. viilu
# Süžee
plt.pirukas (suurused, plahvatama = plahvatama, sildid = sildid, värvid = värvid,
autopct = '% 1.1f %% ', vari = tõsi, hargnemine = 140)
plt.telg ('võrdne')
plt.näita ()

Ülalolevate näidisandmetega loodud sektordiagramm näeb välja järgmine:

Ülaltoodud jaotistes vaatasime erinevaid graafilisi komponente, mida saame Matplotlibi teegiga konstrueerida, et kujutada meie andmeid erinevates vormides ja tuvastada erinevusi intuitiivselt, olles samal ajal statistilised.

Matplotlibi omadused ja alternatiivid

Matplotlibi üks parimaid omadusi on see, et see võib töötada paljude operatsioonisüsteemide ja graafiliste taustaprogrammidega. See toetab kümneid operatsioonisüsteeme ja graafilist väljundit, mida me selles tunnis vaatasime. See tähendab, et võime väljundi pakkumisel meile vajalikul viisil loota.

Kohal on veel mitmeid raamatukogusid, mis võivad matplotlibiga konkureerida, näiteks:

  1. Seahorn
  2. Kavandatud
  3. Ggplot2

Ehkki ülalnimetatud teegid võivad pakkuda mõningaid täiustatud viise andmete graafiliseks kirjeldamiseks ja esitamiseks, ei eita matplotlibi teegi lihtsus ja tõhus olemus.

Järeldus

Selles tunnis vaatasime selle andmevisualiseerimise teegi erinevaid aspekte, mida saame Pythoniga kasutada ilusate ja intuitiivsete graafikute loomiseks, mis suudavad andmeid visualiseerida ettevõttele soovitud kujul. Matplotlib on üks olulisemaid visualiseerimisraamatukogusid, mis puudutab andmetöötlust ja andmete esitamist enamikus visuaalsetes vormides. See on kindlasti oskus, mis meil peab olema.

Palun jagage oma tagasisidet õppetunni kohta Twitteris @sbmaggarwal ja @LinuxHint.

Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...
Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...