Matplotlib in Python: ha spiegato vari grafici con esempi

Pubblicato: 2021-06-21

Sommario

Cos'è matplotlib?

Tra le numerose librerie disponibili in Python, matplotlib in python è una di queste librerie di visualizzazione che aiuta nella visualizzazione di grafici 2D di un array. La libreria di visualizzazione dei dati è basata su array NumPy. È stato nell'anno 2002 che la libreria di visualizzazione dei dati multipiattaforma è stata introdotta da John Hunter. La libreria offre la visualizzazione dei dati e il tracciamento grafico dei dati fornendo un'alternativa a MATLAB. Le API di Matplotlib, ovvero le interfacce di programmazione delle applicazioni, utilizzate dagli sviluppatori per incorporare i grafici nelle applicazioni della GUI.

Matplotlib offre diversi grafici come barra, linea, istogramma, dispersione, ecc. La visualizzazione offerta dal grafico matplotlib consente l'accesso visivo a enormi quantità di dati. Il grafico dei dati visivi può essere generato attraverso un codice di poche righe solo a causa della natura strutturata di uno script python matplotlib.

Due API vengono utilizzate per sovrapporre il livello di scripting matplotlib:

  • API Python: è una gerarchia di oggetti di codice Python.
  • API OO (orientata agli oggetti): l'API fornisce un accesso diretto ai livelli back-end di Matplotlib.

Installazione

L'installazione della libreria matplotlib può essere eseguita scaricando matplotlib e le sue dipendenze dal Python Package Index (PyPI) come pacchetto binario.

Il comando che può essere utilizzato per l'installazione della libreria è

python -m pip install matplotlib

In un sistema operativo come Windows, Linux e macOS, matplotlib e le sue dipendenze sono presenti come pacchetti ruota. In questi casi il comando da eseguire è.

python -mpip install -U matplotlib

La libreria è disponibile anche come file sorgente non compilati la cui installazione è piuttosto complessa poiché il sistema locale richiederà il compilatore appropriato per il sistema operativo. Inoltre, la piattaforma ActiveState può essere utilizzata per creare matplotlib dal sorgente e impacchettarla per il sistema operativo richiesto.

Importazione

L'importazione della matplotlib in python avviene tramite i comandi

  • da matplotlib import pyplot come plt
  • importa matplotlib.pyplot come plt

Vari trame ed esempi

1. Menu dell'interfaccia utente di Matplotlib

Il menu dell'interfaccia utente di Matplotlib viene generato quando i grafici vengono creati tramite Matplotlib. La personalizzazione della trama e la commutazione degli elementi insieme alla possibilità di ingrandire le trame sono offerte dall'interfaccia utente di Matplotlib.

2. Matplotlib e NumPy

NumPy è un pacchetto in Python per eseguire calcoli scientifici. Matplotlib è costruito su NumPy e utilizza le funzioni fornite da NumPy per i suoi dati numerici e gli array multidimensionali.

3. Matplotlib e Panda

Pandas è una libreria di Python utilizzata per la manipolazione di dati e analisi da matplotlib. Non è una dipendenza richiesta per matplotlib ma fornisce un frame di dati.

I grafici Matplotlib consentono la rappresentazione visiva di enormi volumi di dati. Con i grafici è possibile identificare le tendenze e gli schemi specifici presenti nei dati, essenziali per effettuare correlazioni. I grafici Matplotlib forniscono fondamentalmente un modo per ragionare sulle informazioni quantitative.

Alcuni dei tipi di grafici matplotlib sono:

1. Grafico a linee:

Usando due punti

  • Il Matplotlib Line Plot viene generato importando pyplot.
  • Per disegnare punti in un diagramma viene utilizzata la funzione plot() che di default disegna una linea da un punto all'altro.
  • Vengono presi in considerazione due parametri che specificano i punti per disegnare la linea.
  • I punti dell'asse X vengono memorizzati come array nel parametro 1.
  • I punti dell'asse Y vengono memorizzati come array nel parametro 2.
  • Esempio: se una linea deve essere tracciata dai punti (2, 6), a (10, 15), è necessario passare due array, cioè [2, 10] e [6, 15].

Esempio: un codice che mostra la tracciatura delle linee e la trama generata

Fonte

2. Utilizzo di più punti

  • Come per il modo in cui vengono utilizzati due punti per la stampa, più punti possono essere tracciati usando matplotlib in python .
  • I punti dovrebbero avere lo stesso numero in entrambi gli assi per tracciare un numero di punti.
  • Ingresso:

Fonte

3. Punti linea senza punti dell'asse x

  • Se i punti dell'asse X non sono specificati, i valori predefiniti per l'asse X vengono presi in base ai punti dell'asse Y.
  • Input: il codice rimarrà lo stesso dei codici precedenti per il tracciamento delle linee ma con un solo array come input, ovvero un array per l'asse Y. L'asse X verrà preso come predefinito.

ypoints = np.array([10, 8, 12, 20, 3, 9])

  • Trama generata:

Nella matplotlib sono presenti varie opzioni che consentono di aumentare gli effetti visivi delle trame:

1. Marcatori

  • Per migliorare gli effetti visivi dei punti in un diagramma, è possibile utilizzare un marcatore specifico utilizzando la parola chiave marcatore .
  • Gli indicatori possono essere una stella, un cerchio, un punto, un pixel, una X, ecc.
  • Esempio: plt.plot(ypoints, marker = 'o') può essere utilizzato per tracciare i punti
  • Gli altri elenchi di marcatori sono mostrati nello snippet sottostante tratto da

Fonte

  • L'indicatore può essere modificato in base al colore (140 colori supportati), alle dimensioni e al tipo di linea che può essere utilizzata come linea tratteggiata, continua o tratteggiata.
  • I comandi markeredge ( mec ) e markerfacecolor ( mfc ) vengono utilizzati per colorare l'intero marker.
  • Offre la possibilità di colorare solo il bordo del pennarello o l'intero pennarello.
  • Markersize o in breve ms viene utilizzato per impostare la dimensione del marker.

Sintassi: plt.plot(ypoints, marker = 'o', ms = 30)

2. Riga Matplotlib

  • Lo stile della linea tracciata può essere modificato di conseguenza con le opzioni di stile di linea, punteggiato o tratteggiato rappresentato come ls , : , o .

Sintassi: plt.plot(ypoints, ls = ':')

  • Il colore della linea può essere modificato di conseguenza con la parola chiave color o in una forma più breve utilizzando c . matplotlib fornisce 140 colori supportati per modificare l'aspetto del colore della linea.
  • La larghezza della linea può essere modificata con l'argomento linewidth o lw . È un numero mobile in punti.
  • È possibile tracciare più righe nello stesso grafico utilizzando le funzioni plt.plot() .
  • La funzione grid() viene utilizzata per aggiungere linee di griglia nel grafico. È possibile aggiungere parametri dell'asse per specificare in quale asse è richiesta la linea della griglia.

Sintassi: plt.grid(asse = 'x')

  • Le proprietà della griglia possono essere modificate di conseguenza come colore, stile della linea e larghezza attraverso gli argomenti, il colore, gli stili di linea e il numero.

Sintassi: plt.grid(color = 'green', linestyle = '–', linewidth = 0.5)

3. Etichette e titoli Matplotlib

  • Le funzioni xlabel() e ylabel() vengono utilizzate per etichettare il rispettivo asex.
  • La funzione title() viene utilizzata per impostare un titolo per la trama.
  • Le proprietà dei caratteri del grafico possono essere modificate con il parametro fontdict .
  • Il parametro loc può essere utilizzato per specificare la posizione del titolo.

È possibile disegnare più grafici in una figura utilizzando la funzione subplots() .

4. Grafico a dispersione Matplotlib

  • La funzione scatter() può essere utilizzata con pyplot per disegnare un grafico a dispersione.
  • Sono necessari due array della stessa lunghezza, ovvero un array per ogni asse.
  • Esempio:

Fonte

Trama generata

  • colore oppure l' argomento c viene utilizzato per colorare i punti nel grafico a dispersione.
  • Colormap può essere utilizzato per specificare il colore richiesto nel grafico a dispersione. Ogni colore nella mappa dei colori ha un valore specifico. Può essere incluso tramite l'argomento cmap nd assegnando poi il nome della mappa colore. Diverse mappe di colori integrate sono disponibili in matplotlib.

Sintassi: plt.scatter(x, y, c=colori, cmap='viridis')

Viridis è una mappa dei colori integrata disponibile in matplotlib.

  • La dimensione e la trasparenza dei punti possono essere modificate tramite la s e l' argomento alfa .
  • La mappa dei colori può essere combinata con diverse dimensioni dei punti.

5. Diagrammi a barre Matplotlib

  • La funzione bar() viene utilizzata per disegnare i diagrammi a barre . Gli argomenti per il layout delle barre sono menzionati nella funzione bar(). Traccia diagrammi a barre verticali.

  • Per tracciare diagrammi a barre orizzontali viene utilizzata la funzione barh() .
  • Ingresso:

  • Trama generata:

Fonte

  • L' argomento color viene utilizzato con la funzione bar() e barh() per impostare i colori della barra.

Sintassi: plt.bar(x, y, color = “verde”).

  • L' argomento larghezza viene utilizzato con la funzione bar() e barh() per impostare la larghezza della barra.

Sintassi: plt.bar(x, y, larghezza = 0,2).

  • Un altro argomento ripreso dalle funzioni bar() e barh() è height che viene utilizzato per impostare l'altezza della barra.

6. Grafico a torta Matplotlib

  • Un grafico a torta viene creato tramite la funzione pie() nella libreria matplotlib.
  • Esempio: Input:

  • Trama generata:

Fonte

  • Ciascun cuneo può essere etichettato con l'etichetta del parametro che è un array con le etichette per ciascun cuneo.

Sintassi: mylabels = [ “automobili” , “bici” , “cicli” , “autobus” ]

  • L'angolo iniziale predefinito in un grafico a torta è l'asse X, che può essere modificato con il parametro startangle. L'angolo è definito in gradi e l'angolo predefinito è 0.
  • Con il parametro di esplosione, è possibile visualizzare il cuneo richiesto per risaltare. Viene specificato tramite un array con il valore del cuneo da risaltare e i valori di riposo mantenuti come 0.

Sintassi: myexplode = [0.2, 0, 0, 0]

  • L'impostazione del parametro shadows su true creerà un'ombra per il grafico a torta.
  • colori parametro viene utilizzato per specificare i colori di ogni fetta attraverso una matrice.

Sintassi: mylabels = [ “automobili” , “bici” , “cicli” , “autobus” ]

mycolors = [“nero”, “rosa caldo”, “blu”, verde””]

  • La funzione legend() viene utilizzata per aggiungere una spiegazione a ciascun cuneo.

7. Istogramma

  • L'istogramma viene utilizzato per tracciare le distribuzioni di frequenza.
  • La funzione hist() viene utilizzata per creare un istogramma che utilizza una matrice di numeri per creare l'istogramma.
  • Esempio: Input: le linee sopra riportate saranno le stesse usate per tracciare i diagrammi a barre.

x = np.random.normal(90, 100, 200)

stampa(x)

  • Trama generata:

Conclusione

Come discusso nell'articolo, matplotlib in python può essere utilizzato per il tracciamento dei dati in vari stili. Sono disponibili ulteriori varie opzioni per migliorare le nostre trame consentendo all'utente di etichettare, ridimensionare e colorare secondo i propri desideri. Pertanto, Python e le sue librerie sono molto utili per l'analisi e la gestione dei dati nell'era presente.

La formazione sulla programmazione Python nel campo della scienza dei dati è disponibile nel corso Executive PG Program in Data Science offerto da upGrad . Se sei disposto a formarti con esperti del settore ed esplorare le varie opportunità offerte dalla scienza dei dati, puoi iscriverti al corso. Il corso è offerto da IIIT-Bangalore e progettato appositamente per l'ingresso a professionisti di livello medio nella fascia di età dai 21 ai 45 anni. Indipendentemente dal sesso, se rientri in questa categoria menzionata e sogni di diventare uno dei principali data scientist, unisciti a noi in questa avventura. Per qualsiasi nave di assistenza, il nostro team è pronto ad aiutarti.

Dove sono i vantaggi del modulo Panda?

Pandas è uno dei moduli Python più importanti e utili che ha vari casi d'uso. Di seguito sono riportati alcuni dei vantaggi del modulo Pandas.
1. I panda consentono un comodo filtraggio e sottoimpostazione dei dati.
2. Il suo codice è chiaro e comprensibile in modo che gli utenti possano concentrarsi maggiormente sull'obiettivo principale.
3. Poiché è scritto in NumPy, eredita anche alcune delle utili funzionalità di NumPy.

A cosa serve la libreria Matplotlib?

1. La libreria Matplotlib fornisce numerose utili API per incorporare vari tipi di grafici inclusi istogrammi, grafici a linee e barre, grafici a dispersione e grafici a barre.
2. Questa potente libreria può aiutarti a creare grafici 2D utilizzando i dati archiviati in un array. La sua semplice struttura di codice consente di incorporare qualsiasi tipo di trama semplicemente aggiungendo poche semplici righe di codice.
3. Ha un'interfaccia orientata agli oggetti che lo rende una potente alternativa a MATLAB e Pyplot. È altamente personalizzabile e richiede una certa esperienza per utilizzare le funzionalità avanzate.
4. Se hai bisogno di incorporare grafici più semplici nella tua applicazione, dovresti scegliere la sua interfaccia Python in stile MATLAB. Tuttavia, se hai trame complesse, la sua interfaccia OOP sarebbe un'opzione molto migliore.