Pitone

Tutorial Matplotlib su Python

Tutorial Matplotlib su Python
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 l'azienda vuole da una piattaforma. Per completare questa lezione, tratteremo le seguenti sezioni:

Cos'è Python Matplotlib??

Il matplotlib.pyplot è un pacchetto per la creazione di grafici che può essere utilizzato per costruire grafica bidimensionale utilizzando il linguaggio di programmazione Python. A causa della sua natura collegabile, questo pacchetto può essere utilizzato in qualsiasi applicazione GUI, server di applicazioni Web o semplici script Python. Alcuni toolkit che estendono le funzionalità di Python Matplotlib sono:

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

python -m virtualenv matplotlib
sorgente matplotlib/bin/activate

Una volta che l'ambiente virtuale è attivo, possiamo installare la libreria matplotlib all'interno dell'ambiente virtuale in modo che gli esempi che creeremo in seguito possano essere eseguiti:

pip install matplotlib

Vediamo qualcosa di simile quando eseguiamo il comando precedente:

Puoi usare anche Anaconda per eseguire questi esempi, il che è più semplice. Se vuoi installarlo sul tuo computer, guarda la lezione che descrive “Come installare Anaconda Python su Ubuntu 18.04 LTS” e condividi il tuo feedback. Ora passiamo ai vari tipi di grafici che possono essere costruiti con Python Matplotlib.

Tipi di grafici

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

Grafico semplice

Il primo esempio che vedremo sarà di un semplice diagramma grafico. Questo esempio viene utilizzato come dimostrazione di quanto sia semplice costruire un grafico insieme alle semplici personalizzazioni che ne derivano. Iniziamo importando matplotlib e definendo le coordinate x e y che vogliamo tracciare:

da matplotlib importa pyplot come plt
x = [3, 6, 9]
y = [2, 4, 6]

Successivamente, possiamo tracciare queste coordinate sul grafico e mostrarlo:

per favore.trama (x, y)
per favore.mostrare()

Quando eseguiamo questo, vedremo il seguente grafico:


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

per favore.titolo('Trama LH')
per favore.ylabel('asse Y')
per favore.xlabel('asse X')

Aggiungi le righe di codice sopra appena prima di mostrare il grafico 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 il grafico:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
per favore.titolo('Informazioni')
per favore.ylabel('asse Y')
per favore.xlabel('asse X')
per favore.plot(x1 ,y1 , 'g', label='Quarter 1', linewidth=5)
per favore.plot(x2, y2, 'r', label='Quarter 2', linewidth=5)
per favore.leggenda()
per favore.grid(Vero, colore='k')
per favore.mostrare()

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

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

Creare un grafico a barre

Un grafico a barre è particolarmente utile quando vogliamo fare un confronto con misure specifiche e limitate. Ad esempio, confrontare i voti medi degli studenti con una singola materia è un buon caso d'uso. Costruiamo un grafico a barre per lo stesso caso d'uso qui, il frammento di codice per questo sarà:

avg_marks = [81, 92, 55, 79]
fisica = [68, 77, 62, 74]
per favore.bar([0.25, 1.25, 2.25, 3.25], avg_marks, label="Media", larghezza=.5)
per favore.bar([.75, 1.75, 2.75, 3.75], fisica, etichetta="Fisica", colore='r', larghezza=.5)
per favore.leggenda()
per favore.xlabel('Intervallo')
per favore.ylabel('Marchi')
per favore.titolo('Confronto')
per favore.mostrare()

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

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

Possiamo combinare questa costruzione del grafico a barre con la libreria Pandas per personalizzarla di più, ma la tratteremo in una lezione diversa su Pandas.

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 voti degli studenti, ma questa volta esamineremo solo i voti medi degli studenti e vedremo come sono distribuiti. Ecco il frammento di codice, molto simile all'esempio precedente:

contenitori = [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]
per favore.hist(avg_marks, bins, histtype='bar', rwidth=0.8)
per favore.xlabel('Intervallo')
per favore.ylabel('Marchi')
per favore.titolo('Confronto')
per favore.mostrare()

L'istogramma creato con i dati di esempio sopra avrà il seguente aspetto:

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

Creare un grafico a dispersione

Quando si tratta di confrontare più variabili e stabilire il loro effetto l'una sull'altra, il grafico 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]
per favore.scatter(x,y, label='10 studenti ad alto punteggio',color='r')
per favore.scatter(x1,y1,label='10 studenti con punteggio basso',color='b')
per favore.xlabel('Marchi')
per favore.ylabel('Conta studenti')
per favore.title('Trama a dispersione')
per favore.leggenda()
per favore.mostrare()

Il grafico a dispersione creato con i dati di esempio sopra avrà il seguente aspetto:

Grafici di area

I grafici ad area vengono utilizzati principalmente per tenere traccia delle variazioni dei dati nel tempo. Sono anche definiti come stack plot in vari testi. Ad esempio, se vogliamo stabilire una rappresentazione del tempo investito da uno studente per ogni materia 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]
pitone = [5,4,6,4,1]
r =[7,9,4,3,1]
matematica = [8,5,7,8,13]
per favore.plot([],[],color='m', label='Fisica', linewidth=5)
per favore.plot([],[],color='c', label='Python', linewidth=5)
per favore.plot([],[],color='r', label='R', linewidth=5)
per favore.plot([],[],color='k', label='Math', linewidth=5)
per favore.stackplot(giorni, fisica, python, r, matematica, colori=['g','k','r','b'])
per favore.xlabel('x')
per favore.etichetta('y')
per favore.title('Stack plot')
per favore.leggenda()
per favore.mostrare()

Il grafico dell'area creato con i dati di esempio sopra avrà il seguente aspetto:

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 suddividere l'intera parte in più parti e descrivere la quantità occupata da ciascuna parte, un grafico a torta è un buon modo per realizzare questa presentazione. Viene utilizzato per mostrare la percentuale di dati nel set di dati completo. Ecco un frammento di codice di base per creare un semplice grafico a torta:

etichette = 'Python', 'C++', 'Ruby', 'Java'
taglie = [225, 130, 245, 210]
colori = ['r', 'b', 'g', 'c']
esplodere = (0.1, 0, 0, 0)  # esplode la prima fetta
# Trama
per favore.torta(dimensioni, esplodi=esplode, etichette=etichette, colori=colori,
autopct='%1.1f%%', shadow=True, startangle=140)
per favore.asse('uguale')
per favore.mostrare()

Il grafico a torta creato con i dati di esempio sopra avrà il seguente aspetto:

Nelle sezioni precedenti, 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.

Funzionalità e alternative per Matplotlib

Una delle migliori caratteristiche di 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 nel modo di cui abbiamo bisogno.

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

  1. Seahorn Sea
  2. trama
  3. Ggplot2

Anche se le librerie sopra menzionate potrebbero presentare alcuni modi avanzati per descrivere e presentare i dati in modo grafico ma non c'è smentita 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 utilizzare con Python per generare grafici belli e intuitivi in ​​grado di visualizzare i dati in una forma che l'azienda desidera da una piattaforma. Matplotlib è una delle librerie di visualizzazione più importanti quando si tratta di ingegneria dei dati e presentazione dei dati nella maggior parte delle forme visive, sicuramente un'abilità che dobbiamo avere sotto la cintura.

Per favore condividi il tuo feedback sulla lezione su Twitter con @sbmaggarwal e @LinuxHint.

Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...