Tutorial Python Matplotlib

Tutorial Python Matplotlib
In questa lezione sulla libreria Python Matplotlib, esamineremo vari aspetti di questa libreria di visualizzazione dei dati che possiamo usare con Python per generare grafici belli e intuitivi che possono visualizzare i dati in una forma che desidera da una piattaforma. Per completare questa lezione, copriremo le seguenti sezioni:
  • Cos'è Python Matplotlib?
  • Tipi di grafici che possiamo costruire, come grafico a barre, istogramma, diagramma a dispersione, grafico dell'area e grafico PE
  • Lavorare con più trame
  • Alcune alternative per Python Matplotlib

Cos'è Python Matplotlib?

Il matplotlib.Pyplot è un pacchetto di trama grafico che può essere utilizzato per costruire grafica bidimensionale usando il linguaggio di programmazione Python. Grazie alla sua natura collegabile, questo pacchetto può essere utilizzato in qualsiasi applicazioni GUI, server di applicazioni Web o semplici script di Python. Alcuni toolkit che estendono la funzionalità di Python Matplotlib sono:

  • Basemap è una biblioteca di trama della mappa che fornisce funzionalità per creare progetti di mappe, coste e confini politici
  • Natgrid può essere utilizzato per gridare i dati irregolari in dati distanziati
  • Strumenti Excel può essere utilizzato per scambiare i dati tra MS Excel e MatplotLib
  • Cartopy è una libreria di mappatura molto complessa che fornisce anche funzionalità di trasformazione delle immagini a parte le proiezioni di punti, linee e poligoni

Solo una nota prima di iniziare è che utilizziamo un ambiente virtuale per questa lezione che abbiamo fatto con il seguente comando:

Python -M VirtualEnv Matplotlib
sorgente matplotlib/bin/attiva

Una volta che l'ambiente virtuale è attivo, possiamo installare la libreria Matplotlib all'interno dell'EVT virtuale in modo che gli esempi che creiamo dopo possano essere eseguiti:

PIP Installa matplotlib

Vediamo qualcosa del genere quando eseguiamo il comando sopra:

Puoi usare anche Anaconda per eseguire questi esempi, il che è più facile. Se vuoi installarlo sulla tua macchina, guarda la lezione che descrive “Come installare Anaconda Python su Ubuntu 18.04 LTS ”e condividi il tuo feedback. Ora, andiamo avanti verso vari tipi di trame che possono essere costruiti con Python Matplotlib.

Tipi di trame

Qui, dimostriamo i tipi di trame che possono essere disegnati con Python Matplotlib.

Grafico semplice

Il primo esempio che vedremo sarà di un semplice grafico. Questo esempio è usato come dimostrazione di quanto sia semplice costruire un diagramma grafico insieme a semplici personalizzazioni che ne derivano. Iniziamo importando matplotlib e definendo le coordinate xey che vogliamo tracciare:

da matplotlib import pyplot come plt
X = [3, 6, 9]
y = [2, 4, 6]

Dopo questo, possiamo tracciare queste coordinate sul grafico e mostrarlo:

Plt.Trama (x, y)
Plt.spettacolo()

Quando lo eseguiamo, vedremo il seguente grafico:


Con solo poche righe di codice, siamo stati in grado di tracciare un grafico. Aggiungiamo alcune personalizzazioni per rendere questo grafico un po 'più espressivo:

Plt.Titolo ("LH Plot")
Plt.Ylabel ('Y asse')
Plt.XLabel ('X Axis')

Aggiungi le righe di codice sopra appena prima di mostrare la trama e il grafico ora avrà etichette:

Daremo un altro tentativo di personalizzare questo grafico per renderlo intuitivo con le seguenti righe di codice prima di mostrare la trama:

X1 = [3, 6, 9]
Y1 = [2, 4, 6]
x2 = [2, 7, 9]
Y2 = [4, 5, 8]
Plt.Titolo ('Info')
Plt.Ylabel ('Y asse')
Plt.XLabel ('X Axis')
Plt.Plot (x1, y1, 'g', etichetta = 'trimestre 1', line -width = 5)
Plt.Plot (x2, y2, 'r', etichetta = 'trimestre 2', line -width = 5)
Plt.leggenda()
Plt.griglia (true, color = 'k')
Plt.spettacolo()

Vedremo la seguente trama quando eseguiamo lo snippet di codice sopra:

Nota cosa abbiamo iniziato e con cosa abbiamo finito, un grafico molto intuitivo e attraente che puoi usare nelle tue presentazioni ed è fatto con puro codice Python, sicuramente qualcosa di cui essere orgogliosi !

Fare un grafico a barre

Un grafico a barre è specificamente utile quando vogliamo piattaforma un confronto con misure specifiche e limitate. Ad esempio, confrontare i segni medi degli studenti con un singolo argomento è un buon caso. Costruiamo un grafico a barre per lo stesso caso d'uso qui, lo snippet di codice per questo sarà:

AVG_MARKS = [81, 92, 55, 79]
fisica = [68, 77, 62, 74]
Plt.bar (0.25, 1.25, 2.25, 3.25], avg_marks, etichetta = "media", larghezza =.5)
Plt.sbarra([.75, 1.75, 2.75, 3.75], fisica, etichetta = "fisica", color = 'r', larghezza =.5)
Plt.leggenda()
Plt.xlabel ('gamma')
Plt.Ylabel ("Marks")
Plt.Titolo ("confronto")
Plt.spettacolo()

Il grafico a barre creato con i dati di esempio sopra presenterà il seguente:

Ci sono più barre presenti qui per stabilire un confronto. Si prega di notare che abbiamo fornito la larghezza di ogni barra come primo parametri e la barra viene spostata 0.5 valori del precedente.

Possiamo combinare questa costruzione di grafici a barre con la libreria Pandas per personalizzarlo di più, ma la copriremo in una lezione diversa su Panda.

Distribuzioni con istogrammi

Gli istogrammi sono spesso confusi con i grafici a barre. La differenza più elementare sta nel loro caso d'uso. I grafici a barre vengono utilizzati per stabilire confronti tra i dati mentre gli istogrammi vengono utilizzati per descrivere la distribuzione dei dati.

Ad esempio, applichiamo di nuovo l'esempio per i segni degli studenti, ma questa volta, esamineremo solo i segni medi degli studenti e esamineremo come vengono distribuiti. Ecco lo snippet di codice, molto simile all'esempio precedente:

Bins = [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 ('gamma')
Plt.Ylabel ("Marks")
Plt.Titolo ("confronto")
Plt.spettacolo()

L'istogramma creato con i dati di esempio sopra sembrerà come segue:

L'asse Y mostra qui che quanti studenti hanno ottenuto gli stessi marchi forniti come dati per la costruzione.

Fare una trama a dispersione

Quando si tratta di confrontare più variabili e stabilire il loro effetto reciproco, il diagramma a dispersione è un buon modo per presentare lo stesso. In questo, i dati sono rappresentati come punti con il valore di una variabile riflessa dall'asse orizzontale e il valore della seconda variabile determina la posizione del punto sull'asse verticale.

Diamo un'occhiata a un semplice frammento di codice per descrivere lo stesso:

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.SPIREST (x, y, etichetta = '10 Studenti alti punteggi ', color =' r ')
Plt.SPIREST (x1, y1, etichetta = '10 studenti a basso punteggio ', color =' b ')
Plt.XLabel ("Marks")
Plt.ylabel ("conteggio degli studenti")
Plt.Titolo ('Spese Scherma')
Plt.leggenda()
Plt.spettacolo()

Il diagramma a dispersione creato con i dati di esempio sopra sembrerà come i seguenti:

Area trame

I grafici dell'area vengono utilizzati principalmente per tenere traccia delle modifiche ai dati nel tempo. Sono anche definiti come trame di stack in vari testi. Ad esempio, se vogliamo stabilire una rappresentazione del tempo investita da uno studente a ciascun argomento in un solo giorno, ecco il codice con cui possiamo fare lo stesso:

giorni = [1,2,3,4,5]
fisica = [2,8,6,5,7]
Python = [5,4,6,4,1]
r = [7,9,4,3,1]
Math = [8,5,7,8,13]
Plt.Plot ([], [], color = 'm', etichetta = 'fisica', linewidth = 5)
Plt.Plot ([], [], color = 'c', etichetta = 'python', lineWidth = 5)
Plt.Plot ([], [], color = 'r', etichetta = 'r', lineWidth = 5)
Plt.Plot ([], [], color = 'k', etichetta = 'matematica', lineWidth = 5)
Plt.StackPlot (giorni, fisica, python, r, math, colori = ['g', 'k', 'r', 'b'])
Plt.xlabel ('x')
Plt.ylabel ('y')
Plt.Titolo ("Plot Stack")
Plt.leggenda()
Plt.spettacolo()

Il diagramma dell'area creata con i dati di esempio sopra sembrerà come i seguenti:

L'output di cui sopra stabilisce chiaramente una differenza nel tempo trascorso da uno studente in ciascuna materia con un modo chiaro di fornire la differenza e la distribuzione.

Grafici a torta

Quando vogliamo interrompere l'intera parte in più parti e descrivere l'importo che ogni parte occupa, un grafico a torta è un buon modo per fare questa presentazione. Viene utilizzato per mostrare la percentuale di dati nel set di dati completo. Ecco uno snippet di codice di base per creare un semplice grafico a torta:

Etichette = 'Python', 'C ++', 'Ruby', 'Java'
dimensioni = [225, 130, 245, 210]
colori = ['r', 'b', 'g', 'c']
explode = (0.1, 0, 0, 0) # Explode 1st Slice
# Complotto
Plt.Pie (dimensioni, explode = explode, etichette = etichette, colori = colori,
autopct = '%1.1f %% ', shadow = true, startleng = 140)
Plt.axis ('uguale')
Plt.spettacolo()

Il grafico a torta creata con i dati di esempio sopra sembrerà come segue:

Nelle sezioni sopra, abbiamo esaminato vari componenti grafici che possiamo costruire con la libreria Matplotlib per rappresentare i nostri dati in varie forme e stabilire differenze in modo intuitivo pur essendo statistici.

Caratteristiche e alternative per matplotlib

Una delle migliori caratteristiche per Matplotlib è che può funzionare su molti sistemi operativi e backend grafici. Supporta dozzine di sistemi operativi e output grafico che abbiamo esaminato in questa lezione. Ciò significa che possiamo contare su di esso quando si tratta di fornire un output in un modo di cui abbiamo bisogno.

Ci sono varie altre librerie presenti che possono competere con Matplotlib come:

  1. Seahorn
  2. Plotly
  3. Ggplot2

Anche se le biblioteche sopra menzionate potrebbero presentare alcuni modi avanzati per descrivere e presentare i dati in modo grafico, ma non c'è negazione nella semplicità e nella natura efficace della libreria Matplotlib.

Conclusione

In questa lezione, abbiamo esaminato vari aspetti di questa libreria di visualizzazione dei dati che possiamo usare con Python per generare grafici belli e intuitivi che possono visualizzare i dati in una forma che desidera da una piattaforma. Il matplotlib è una delle più importanti librerie di visualizzazione quando si tratta di ingegneria dei dati e presentazione di dati nella maggior parte delle forme visive, sicuramente un'abilità che dobbiamo avere sotto la nostra cintura.

Condividi il tuo feedback sulla lezione su Twitter con @sbmaggarwal e @linuxhint.