Come convertire un file CSV in un grafico in Python

Sviluppo del programmatore Sviluppo del team Progettazione di siti Web e tecnologie di codifica che lavorano nell'ufficio della società di software

I file CSV sono utili per la loro semplicità e portabilità, sono inefficaci per visualizzare o analizzare grandi quantità di dati; tuttavia, non mostrano visivamente i dati.

Credito immagine: SARINYAPINNGAM/iStock/GettyImages

La maggior parte delle applicazioni di database e fogli di calcolo può comodamente generare dati di tabelle sotto forma di file CSV (valori separati da virgola). Sebbene i file CSV siano utili per la loro semplicità e portabilità, sono inefficaci per la visualizzazione o l'analisi di grandi quantità di dati. Per superare questa limitazione, un programmatore può utilizzare il linguaggio di programmazione Python e matplotlib per tracciare dati da un file CSV e creare un grafico leggibile e visivamente attraente adatto per il web o la stampa pubblicazione.

Preparazione per la stampa di dati CSV

Prima di tracciare effettivamente il file CSV in Python, assicurati di avere tutti gli strumenti necessari e creare un file di prova. Ciò include l'installazione di Python e delle librerie necessarie e un file CSV che contiene due colonne di dati numerici.

Video del giorno

Passaggio 1: crea un file di prova

Innanzitutto, apri il tuo editor di testo e crea un semplice file CSV per il test. Un campione potrebbe essere simile a questo:

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

Passaggio 2: importa le librerie necessarie

Ora sei pronto per importare le librerie Python necessarie nel tuo file di codice con questa riga di codice:

import matplotlib.pyplot as plt import csv import sys

Traccia grafico in Python da CSV

Con la tua preparazione fuori mano, ora puoi iniziare a utilizzare effettivamente Python per disegnare un grafico da un file CSV.

Passaggio 1: creare un oggetto lettore

Apri il file CSV e crea un oggetto lettore da esso. Dichiarare le variabili per definire i limiti superiore e inferiore per i valori degli assi x e y del grafico:

csv_reader = csv.reader (open('test.csv')) bigx = float(-sys.maxint -1) bigy = float(-sys.maxint -1) smallx = float (sys.maxint) smally = float (sys .maxint)

Passaggio 2: itera sulle righe

Iterare su ogni riga contenuta nell'oggetto lettore memorizzando ogni riga come vertice in un array di vertici. Nello stesso ciclo confronta i valori x e y per memorizzare i loro limiti superiore e inferiore. Ordina l'array di vertici e quindi esegui nuovamente il ciclo. Questa volta archivia i valori x e y ordinati in array separati:

verts = [] for row in csv_reader: verts.append (row) if float (row[0]) > bigx: bigx = float (row[0]) if float (row[1]) > bigy: bigy = float ( riga[1]) se float (riga[0]) < smallx: smallx = float (row[0]) if float (row[1]) < smally: smally = float (row[1]) verts.sort() x_arr = [] y_arr = [] for vert in verts: x_arr .append (vert[0]) y_arr.append (vert[1])

Passaggio 3: crea un oggetto FigureCanvas

Crea un oggetto FigureCanvas utilizzando l'oggetto pyplot matplotlib importato. Aggiungi gli assi del grafico a FigureCanvas chiamando la funzione add_axes e passandogli un array di valori sotto forma di: sinistra, fondo, larghezza, altezza. Questi valori definiscono la posizione del grafico sull'area di disegno: possono variare da 0,0 a 1,0:

fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

Passaggio 4: formattare il grafico

Formattare il grafico aggiungendo etichette e definendo i valori minimo e massimo per ogni asse:

ax.set_xlabel('x dati') ax.set_ylabel('y dati') ax.set_xlim (piccolo, grande) ax.set_ylim (piccolo, grande)

Passaggio 5: tracciare il grafico

Tracciare il grafico passando nei due array contenenti i valori x e y recuperati dal file CSV. Personalizza il grafico a linee passando valori facoltativi come il colore della linea (colore) o lo spessore della linea (lw). Visualizza il grafico finito chiamando il metodo show per aprire una finestra e archivia l'immagine chiamando savefig per creare un file bitmap su disco:

ax.plot (x_arr, y_arr, color='blue', lw=2) plt.show() fig.savefig('test.png')

Considerazioni importanti per i file

Per creare file leggibili dall'interprete Python è necessario utilizzare un testo ascii o un editor di codice che crei file di solo testo. È possibile memorizzare immagini di grafici in molti formati di immagine diversi, tra cui: png, pdf, ps e svg.

Consulta la documentazione Matplotlib

Alcuni aspetti dell'installazione e della funzionalità della libreria matplotlib variano su diverse piattaforme di computer. Leggere attentamente la documentazione. La libreria può visualizzare le informazioni numeriche in un vasto numero di modi e può essere finemente personalizzata. Una lettura approfondita della documentazione sarà necessaria per diventare abili.