O introducere în Matplotlib în Python

Matplotlib este o bibliotecă de plotare Python pe care experții în învățarea automată o folosesc în principal pentru a crea vizualizări statice și interactive.

Ce este Matplotlib

Mathplotlib este o creație a lui John D. Hunter în 2003, care a fost lansată pe 8 mai 2021 și are o versiune actuală a 3.4.2.

Această bibliotecă este scrisă în principal în Python, în timp ce restul este scris în C obiectiv și JavaScript, făcându-l compatibil cu platforma.

Matplotlib folosește NumPy, care este o extensie numerică Python. Extensia sa cu NumPy îi adaugă viabilitatea ca alternativă open-source și o face o preferință mai bună decât MATLAB.

Pentru aplicațiile Python GUI, Matplotlib permite trasarea graficelor statice pe acesta folosind API-ul orientat pe obiecte cu care vine.

Utilizatorii pot folosi doar câteva linii scrise de cod Python pentru a-și vizualiza datele folosind diferite diagrame, inclusiv diagrame de dispersie, histograme, diagrame cu bare, diagrame circulare, diagrame cu linii și diagrame cu casete.

Puteți utiliza Matplotlib pentru a crea diagrame în medii, inclusiv shell Python, notebook Jupyter,
Jupyter lab și, de asemenea, folosind Pycharm sau Anaconda și pe servere de aplicații web precum Flask și Django pe diverse platforme.

Ca și în MATLAB, puteți controla în mod extensiv graficele în ceea ce privește fonturile, liniile, culorile și stilurile.

După scurta introducere a bibliotecii Matplotib în Python, să vedem cum o putem configura în sistemele noastre.

Configurarea mediului Matplotlib

Ca orice alt pachet și bibliotecă Python, puteți instala biblioteca pre-compilată Matplotlib și pachetele acesteia pe toate sistemele de operare cu managerul de pachete pip.

Desigur, este nevoie să instalați mai întâi Python și pachetul pip pe sistemul dvs.

Următoarele comenzi afișează versiunea Python și pip pentru a confirma dacă aceste instrumente sunt deja instalate.

Verificați dacă Python este instalat

Python --version

Verificați dacă pip este instalat

pip -V

Instalați Mathplotlib

Comanda de mai jos instalează pachetul Matplotlib din Indexul pachetelor Python (PyPI).

python -m pip install matplotlib

Această comandă descarcă și instalează pachetele relevante ale Matplotlib. Ar trebui să vedeți un mesaj de instalare reușită după finalizarea instalării.

Pentru a vă asigura că Matplotlib a fost instalat cu succes, tastați următoarea comandă, care va afișa versiunea Matplotlib în linia de comandă.

import matplotlib
matplotlib.__version__

Dezvoltatorii care doresc să instaleze pachetul Matplotlib necompilat trebuie să aibă acces la compilatorul potrivit în sistemul lor, în plus față de dependențe, scripturi de configurare, fișiere de configurare și corecții.

Cu toate acestea, această instalare specială necompilată Matplolib poate fi complicată, în special pentru utilizatorii începători Matplotlib. Prin urmare, de ce să nu folosiți o comandă pe o singură linie pentru a instala biblioteca în câteva secunde?🤔

După instalarea Matplotlib, importați pachetul în mediul dumneavoastră pentru a accesa utilitățile acestuia.

Opțiuni de trasare Matplotlib

Matplotlib oferă numeroase opțiuni de plotare pentru a vizualiza datele. De asemenea, permite personalizarea graficelor, oferind diferite teme, culori și opțiuni de paletă pe care utilizatorul le poate folosi pentru a manipula diagramele.

  Cum să anulați contul Groupon

Aceste opțiuni de reprezentare includ:

#1. Grafice cu bare

Diagramele cu bare, cunoscute sub numele de grafice cu bare, sunt o opțiune potrivită pentru vizualizarea unei comparații cantitative a valorilor din aceeași categorie.

Matplotlib reprezintă această diagramă folosind bare dreptunghiulare unde lungimile și înălțimile lor reprezintă valorile proporționale. Barele pot fi orizontale sau verticale.

Matplotlib folosește funcția plt.bar() pentru a crea diagrama cu bare.

În plus, puteți folosi mai multe funcții pentru a manipula acest complot. De exemplu, funcțiile plt.xlabel() și plt.ylabel() etichetează axele x și, respectiv, y ale graficului.

Funcția plt.title() vă permite, de asemenea, să dați un titlu plotului, în timp ce funcția plt.savefig() salvează plotul. Funcția plot.show(), care este cea mai importantă, afișează graficul.

#2. Plăcinte

Puteți vizualiza distribuția proporțională a articolelor în cadrul aceleiași categorii folosind un diagramă statistic circular pe care îl numim diagrame circulare.

Graficele piețe afișează datele sub formă de procente. Întreaga zonă a diagramei corespunde procentului întregului datelor, în timp ce feliile individuale de plăcintă reprezintă secțiuni din procentul datelor.

Matplotlib folosește funcția plt.pie() care desenează și ajustează parametrii diagramei circulare.
Mai mulți parametri, cum ar fi autopct, care imprimă valoarea diagramei plăcitoare cu până la 1 zecimală, sunt utili în trasarea diagramelor plăcinte.

Organizațiile comerciale găsesc diagramele circulare utile în prezentarea informațiilor relevante precum operațiuni, vânzări sau resurse.

#3. Histogramă

O histogramă afișează distribuția datelor numerice. Utilizează intervale continue pentru a împărți datele în secțiuni distincte.

Principala diferență dintre o histogramă și un grafic cu bare este tipul de date pe care le gestionează. În timp ce histogramele se ocupă de tipul de date continuu, diagramele cu bare se ocupă de date categorice.

Matplotlib folosește funcția hist() care utilizează o matrice de valori aleatoare sau definite pentru a crea histograma.

#4. Grafice cu linii

Aceste diagrame sunt utile pentru a arăta relația dintre două valori de date pe care le definim ca fiind numerice și categorice, pe baza X și Y.

Graficele de linii sunt semnificative în urmărirea modificării valorilor datelor de-a lungul unui timp.

#5. Diagrame de dispersie

Diagramele de dispersie indică relația, inclusiv corelația dintre variabilele din date. De asemenea, este util în identificarea valorii aberante.

Diagramele de dispersie folosesc puncte pentru a reprezenta relația dintre variabilele de date și modul în care o modificare a unei variabile o poate afecta pe alta.

Cum se creează diagrame în Matplotlib

Matplotlib folosește diferite funcții pentru a crea diferite diagrame. De asemenea, folosește foarte puține linii de cod pentru a crea complot.

Mai jos vedem cum să creați diferite opțiuni de diagramă folosind diferite funcții în Matplotlib.

#1. Bar plot în Matplotlib

Diagramele cu bare, așa cum s-a explicat mai sus, afișează categorii de date folosind bare și axe care reprezintă o comparație a categoriilor pe o axă și valorile corespunzătoare ale categoriilor pe cealaltă axă.

Funcția bar() din Matplotlib ia diferite aspecte de argument pentru a descrie aspectul barelor, așa cum se arată mai jos.

plt.bar(x, y, height, width, bottom, align)

Parametrii x și y reprezintă valorile coordonatelor x și valorile coordonatelor y ale barei din grafic. Parametrul lățime reprezintă lățimea barei, în timp ce parametrul înălțime reprezintă înălțimea barei.

De exemplu, să reprezentăm numărul de câini și pisici dintr-un adăpost pentru animale numit x.

import matplotlib.pyplot as plt
import numpy as np

x = ["Cats", "Dogs"]
plt.xlabel("Cats and Dogs in Shelter")
plt.ylabel("No. of animals in Shelter")
plt.title("Number of cats and dogs in shelter x")
y = [300, 350]
plt.bar(x, y, color="black", width = 0.5)

Ieșire:

Ieșirea graficului de bare în Mathplotlib

  Cele mai bune 7 alternative GitHub pentru găzduirea proiectului dvs

Ca și în exemplul nostru de mai sus, puteți specifica în continuare culoarea barelor folosind atributul color. Mai mult, plt.xlabel și p.ylabel denumesc axele x și y, în timp ce plt.title denumește plotul.

#2. Cum se creează o diagramă de plăcintă

Matplotlib folosește funcția pie() care vine cu modulul pyplot pentru a reprezenta o diagramă circulară.
Funcția reprezintă datele de reprezentat sub formă de matrice.

Sintaxă:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

Parametrul culori setează culoarea feliilor de plăcintă. Puteți utiliza o serie de valori pentru a specifica o culoare pentru fiecare felie.

Pentru a include în continuare detalii despre fiecare felie din plăcintă, argumentul autopct adaugă procentele numerice pe care le reprezintă fiecare felie folosind notația de formatare String din Python. Explodarea ca argument acceptă o serie de valori care încep de la 0,1 pentru a defini distanța feliei de la centrul plăcintei.

Să trasăm o diagramă circulară care afișează resursele în procente alocate pentru un anumit proiect.

import matplotlib.pyplot as plt
import numpy as np

y = np.array([25, 10, 45, 20])
mylabels = ["w", "x", "y", "z"]
explodevalues = [0.1, 0.2, 0, 0]
colors = ['tab:blue', 'tab:green', 'tab:orange', 'tab:red']
plt.title("Resources allocated for a random project")
plt.pie(y, labels = mylabels, colors=colors,explode = explodevalues, autopct="%1.1f%%", shadow = True)
plt.show() 

Ieșire:

Ieșirea diagramei Pie în Mathplotlib

Graficul de mai sus afișează o diagramă circulară cu patru felii etichetate w, x, y și, respectiv, z. Valorile de explozie definesc cât de departe de centrul plăcintei vor fi plasate feliile.

Din graficul de mai sus, x este mai departe, deoarece valoarea sa de explozie este mai mare decât restul. Atributul umbră adaugă o umbră graficului plăcintă ca în imagine, în timp ce autopct setează procentul relativ la întreaga plăcintă pe care o reprezintă fiecare felie.

#3. Crearea unui diagramă histogramă

Cu o histogramă, vom folosi o serie de intervale pentru a reprezenta intervalul valorilor date pe axa x.
Axa y, pe de altă parte, va reprezenta informațiile de frecvență.

Spre deosebire de celelalte grafice, trasarea unei histograme în Matplotlib necesită câțiva pași predefiniti pe care trebuie să-i urmați pentru a crea diagrama.

Acești pași includ:

  • Creați un bin de intervale din setul de valori de date pe care îl aveți. Puteți utiliza funcția np.random.normal() care poate genera valori aleatorii pentru dvs.
  • Folosind o serie de intervale, distribuiți valorile într-un interval de valori.
  • Numărați valorile care se încadrează în fiecare interval particular.
  • Acum utilizați funcția matplotlib.pyplot.hist() pentru a crea histograma.
  • Funcția hist() preia mai mulți parametri, inclusiv:

    x – Aceasta reprezintă secvența matricei

    bins – Acesta este un parametru opțional care reprezintă intervale care nu se suprapun de variabile care pot conține numere întregi sau o secvență String.

    interval – definește intervalul superior și inferior al recipientelor

    align – Acest parametru controlează alinierea histogramei. Fie la stânga, la dreapta sau la mijloc.

    culoare – Definește culoarea barelor.

    rwidth – Setează lățimea relativă a barelor din histogramă la cea a coșului.

    log – parametrul log definește o scară log pe axa unei histograme.

    Următorul exemplu prezintă o histogramă cu valorile definite.

    from matplotlib import pyplot as plt
    
    x = [22, 40, 87, 5, 43, 30, 56,73, 55, 54, 11, 20, 51, 5,  50, 60, 70, 80]
    
    plt.hist(x)
    plt.title(Histogram plot example')
    plt.xlabel('x axis')
    plt.ylabel('frequency')
    plt.show()
    

    Ieșire:

    Ieșirea diagramei histogramei în Mathplotlib

    #4. Graficul de linii în Matplotlib

    Matplotlib folosește subbiblioteca sa numită pyplot , care vine cu diverse funcții care ajută la implementarea sa.

    Folosim funcția plot(), care este o funcție generică care vine cu pyplot pentru a reprezenta graficele cu linii și diferite alte tipuri de diagrame cu linii, inclusiv diagrame curbe și diagrame cu mai multe linii. Crearea acestor diferite tipuri de diagrame depinde de valorile pe care le transmiteți pe axa y.

      Cum să-ți folosești iPhone-ul ca lupă

    Când trasați, importați matplotlib.pyplot și Numpy, care desenează diagramele. Metoda plot(x,y) creează graficul de linii prin transmiterea unor valori aleatorii argumentelor x și y.

    În plus, puteți trece o variabilă de etichetă care etichetează diagrama. Funcția de titlu denumește în continuare titlul plotului, în timp ce funcțiile xlabel și ylabel denumesc axele. În cele din urmă, funcția show() afișează plotul.

    De exemplu:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 5, 10)
    
    y = 3*x + 2
    plt.title('Line plot example')
    plt.xlabel('x axis')
    plt.ylabel('y axis')
    plt.plot(x, y)
    plt.show()

    Rezultat:

    Ieșirea graficului de linii în Mathplotlib

    Atributul np.linspace revine pe diagramă, un set de numere uniform distanțate pe un anumit interval pentru valorile x. Aceasta va crea o matrice de 10 valori în intervalul 0 și 5. Valorile y sunt create din ecuația care utilizează valorile corespunzătoare ale lui x.

    Crearea diagramelor de dispersie

    Matplotlib folosește metoda scatter() pentru a crea această diagramă.
    Această metodă ia în considerare următorii parametri.

    matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None) 

    Parametrii x_axis_data și y_axis_data nu pot fi lăsați necompleți, spre deosebire de restul parametrilor care pot fi opționali și au ca valoare None. În timp ce argumentul x_axis_data definește o matrice de date pentru axa x, y_axis_data setează o matrice de date pentru axa y.

    Un exemplu de diagramă de dispersie în matplotlib

    import matplotlib.pyplot as plt
     
    x =[15, 17, 18, 27, 22, 27, 32, 14, 11, 12, 29, 16]
     
    y =[19, 16, 17, 18, 10, 26, 13, 27, 14, 18, 17, 35]
    plt.title('Scatter plot example')
    plt.xlabel('x variable')
    plt.ylabel('y variable')
    plt.scatter(x, y, c ="green")
     
    # To show the plot
    plt.show()

    Rezultatul său va fi:

    Ieșirea graficului de dispersie în Mathplotlib

    Ce este subplot() în matplotlib

    Funcția subplot() poate fi folosită pentru a desena mai multe diagrame pe o singură figură Matplotlib. Acest lucru permite vizualizarea și compararea mai multor parcele din figură.

    Această funcție va returna un tuplu cu trei argumente; rândurile și coloanele ca primul și, respectiv, al doilea argument și indexul diagramei curente ca al treilea argument.

    Rândurile și coloanele definesc clar aspectul Matplotlib.

    Prin urmare, plt.subplot(2, 1, 1) de exemplu, va reprezenta o figură Matplotlib cu două rânduri și o coloană, iar acest grafic va fi primul grafic.

    Pe de altă parte, plt.subplot(2, 1, 2) afișează un al doilea diagramă cu două rânduri și o coloană.

    Trasarea acestor două parcele le va crea una peste alta, ca în exemplul de mai jos.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(2, 1, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(2, 1, 2)
    plt.plot(x,y)
    
    plt.show()

    Ieșirea exemplului de mai sus va arăta ca imaginea de mai jos.

    Folosind un exemplu diferit, să folosim funcția subplot pentru a reprezenta două figuri cu un rând și două coloane. Aceasta va afișa parcelele unul lângă altul.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(1, 2, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(1, 2, 2)
    plt.plot(x,y)
    
    plt.show()

    Exemplul de mai sus va afișa următorul rezultat.

    Ei bine, asta a fost interesant de interactiv, nu crezi?😃

    Cuvinte finale

    Matplotlib este o bibliotecă de vizualizare cunoscută folosită în Python. Interactivitatea și capacitatea sa de utilizare ușoară chiar și pentru începători îl fac un instrument și mai bun de utilizat pentru a trasa în Python.

    Acest articol a acoperit exemple ale diferitelor diagrame pe care funcțiile care vin cu Matplotlib le pot crea, inclusiv diagrame circulare, diagrame cu bare, histograme și diagrame de dispersie.

    Desigur, Python are câteva alte biblioteci pe care experții în învățarea automată și oamenii de știință în date le pot folosi pentru a crea vizualizări.

    Puteți explora mai multe diagrame pe care le puteți crea cu Matplotlib și ce funcții veți folosi pentru a crea diagrama.

    Complot fericit!📉📊