Come creare grafici dall'aspetto professionale in Python
Excel e altri fogli di calcolo sono onnipresenti nel mondo degli affari perché ti permettono di creare grafici semplici. Se vuoi portare i tuoi rapporti e le tue presentazioni al livello successivo, potresti prendere in considerazione l'idea di imparare Python per creare visualizzazioni potenti che ti aiuteranno a distinguerti dalla massa.
Configurazione iniziale
Creare la cassetta degli attrezzi Python
Per creare grafici in Python, dovrai configurare un ambiente con i pacchetti giusti. Questi includono:
- NumPy, la spina dorsale dell'analisi dei dati in Python,
- pandas, una libreria per manipolare dati tabellari in DataFrame
- Seaborn, la libreria che genererà i grafici (con un po' di aiuto da Matplotlib)
Anche se non sono librerie, IPython e Jupyter renderanno la tua vita più facile nel manipolare dati con Python. IPython migliora il Python interattivo, mentre i Jupyter Notebook rendono più semplice tenere traccia del tuo lavoro e condividerlo con altri.
È meglio usare uno strumento che possa gestire il tuo ambiente Python per installare questi strumenti. Il mio strumento preferito in questi giorni è Pixi. Puoi installare Pixi seguendo le istruzioni sul sito web di Pixi per il tuo sistema basato su terminale, inclusi macOS, Linux e PowerShell su Windows.
Una volta installato Pixi, puoi installare l'ambiente. Poiché probabilmente vorrai averli a portata di mano, puoi installarli nell'ambiente globale:
pixi global install --environment graphics --expose jupyter --expose ipython jupyter numpy pandas seaborn matplotlib ipythonQuesto installerà Jupyter, IPython, NumPy, Seaborn e Matplotlib. Poiché Matplotlib è una dipendenza di Seaborn, probabilmente sarebbe stato installato comunque, ma vogliamo assicurarci che sia disponibile, dato che eseguiremo alcuni comandi direttamente su Matplotlib. L'opzione --expose dice a Pixi di rendere l'eseguibile di IPython disponibile a Jupyter.
Basi della programmazione in Python
Gara di curiosità
Pensi di conoscere bene i tuoi cicli dai tuoi elenchi? Metti alla prova le tue conoscenze di Python.
Quale dei seguenti è il modo corretto per stampare 'Hello, World!' in Python 3?
Quale tipo di dato restituisce l'espressione type(3.14) in Python?
Quale simbolo si usa per scrivere un commento su una sola linea in Python?
Quale delle seguenti strutture dati di Python è immutabile?
Cosa stamperà il seguente codice? per i in range(3): print(i)
Quale parola chiave viene utilizzata per definire una funzione in Python?
Qual è l'output della seguente espressione in Python? bool(0)
Cosa fa la funzione 'len()' in Python?
Il tuo punteggio
Grazie per aver giocato!
Grafici a linee
Tracciare una serie temporale
Puoi creare grafici a linee con Seaborn. Per prima cosa, dovrai importare le librerie che hai appena installato utilizzando IPython o Jupyter:
import numpy as np
import pandas as pd
import seaborn as sns
sns.set_theme()
import matplotlib.pyplot as pltLe prime tre righe importano NumPy, pandas e Seaborn usando nomi abbreviati.
Possiamo mostrare un grafico a linee che rappresenta una serie temporale utilizzando uno dei dataset integrati che Seaborn include. Questo include un elenco di voli aerei e il numero di passeggeri dal 1949 al 1960.
Per prima cosa, caricheremo il dataset:
flights = sns.load_dataset('flights')Questo crea un DataFrame di pandas, di cui possiamo esaminare le prime righe con il metodo head():
flights.head()Possiamo quindi creare un grafico a linee con l'anno sull'asse x seguito dal numero di passeggeri sull'asse y:
sns.lineplot(x='year',y='passengers',data=flights)Il grafico apparirà in un'altra finestra.
Il grafico verrà visualizzato in una finestra separata.
Grafici a barre
Puoi anche creare grafici a barre. Richiameremo un altro set di dati, da un cameriere di un ristorante di New York City che ha registrato l'importo del conto insieme alla mancia.
tips = sns.load_dataset('tips')Creeremo un grafico a barre che mostra il totale del conto in diversi giorni:
sns.catplot(x='day',y='total_bill',kind='bar',data=tips)
Diagramma a dispersione/regressione
Trovare tendenze nei tuoi dati
Un altro tipo utile di grafico è il diagramma di dispersione e la regressione, o mostrare una linea di tendenza. Poiché questi sono così comuni in statistica, scienza dei dati e business, sono facili da creare con Seaborn.
Creeremo un diagramma a dispersione della mancia rispetto al totale del conto, con il totale del conto sull'asse x e la mancia sull'asse y. La mancia sarà la variabile dipendente e il totale del conto sarà la variabile indipendente. Vogliamo vedere se c'è una relazione tra il totale del conto e la mancia.
sns.relplot(x='total_bill',y='tip',data=tips)Potresti notare che la mancia sembra aumentare insieme al totale del conto. Potresti tracciare una linea retta che sale da sinistra a destra. In altre parole, sembra esserci una relazione lineare positiva tra i due. Più grande è il conto, più alta è la mancia.
Possiamo anche tracciare quella linea retta, o la linea di regressione lineare, attraverso questo diagramma a dispersione. Il codice è molto simile al codice che abbiamo usato per il diagramma a dispersione.
sns.regplot(x='total_bill',y='tip',data=tips)Nota che non sarai in grado di ottenere i valori dell'equazione per la retta di regressione, come la pendenza e l'intercetta per formare la classica equazione y=mx + b che potresti ricordare dall'algebra del liceo. Avrai bisogno di usare un'altra libreria, come SciPy o statsmodels, che ti fornirà i valori per l'equazione.
Regolare i titoli e salvare
Prepara i tuoi grafici per il momento clou
Sebbene i grafici sembrino buoni da soli, non sono ancora del tutto pronti per essere inseriti nei tuoi grafici o presentazioni. Probabilmente dovrai modificare le etichette sugli assi in modo che sembrino più comprensibili da sole.
Effettuerai chiamate non a Seaborn ma alla libreria sottostante Matplotlib. Supponiamo di voler pubblicare il grafico della regressione tra mance e conto. Ecco come lo ripuliremmo se volessimo inserirlo in un rapporto. Useremmo il codice per il grafico della regressione mostrato in precedenza, ma useremmo Matplotlib per aggiungere un titolo e modificare le etichette sugli assi.
sns.regplot(x='total_bill',y='tip',data=tips)
plt.title("Tip vs. total bill in a New York City restaurant")
plt.xlabel("Total bill (USD)")
plt.ylabel("Tip (USD)")
plt.show()Questo aggiungerà un titolo e eliminerà il trattino basso negli assi, oltre a chiarire che gli importi sono in dollari statunitensi.
Per salvare il tuo grafico, puoi cliccare sull'icona Salva nella finestra che è comparsa, oppure puoi usare questo comando:
plt.savefig('/path/to/file')Puoi quindi inserire questo nel tuo documento o nella tua presentazione. Matplotlib supporta molti formati popolari, incluso il PNG.
È facile creare grafici dall'aspetto ottimo in Python
Potrebbe volerci un po' di tempo per imparare Python, ma con un po' di impegno, puoi creare grafici di qualità da pubblicazione che possono ravvivare la tua prossima presentazione o rapporto. Non dovresti dedicare tanto impegno alle visualizzazioni quanto ne dedichi a assicurarti che le parole e i numeri siano corretti?












