Come convertire un file CSV per un grafico in Python

January 17

Come convertire un file CSV per un grafico in Python


La maggior parte delle applicazioni di database e fogli di calcolo in grado di dati della tabella comodamente in uscita sotto forma di file CSV (Comma--Separated Values). Mentre i file CSV sono a portata di mano per la loro semplicità e la portabilità, sono inefficaci per la visualizzazione o l'analisi di grandi quantità di dati. Utilizzando Python e una libreria di codice esterno, matplotlib, un programmatore può superare questo limite convertendo i dati CSV grezzi in un grafico visivamente attraente leggibile adatto per il web o la stampa la pubblicazione.

istruzione

Il rendering di un file CSV come un grafico utilizzando Python e Matplotlib

1 Creare un file CSV semplice per il test. Un esempio 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

2 Importare le librerie Python necessari nel file di codice:

importazione matplotlib.pyplot come PLT
importazione CSV
import sys

3 Aprire il file CSV e creare un oggetto reader da esso. Dichiarare le variabili per definire i limiti superiori e inferiori per i valori assi X e Y del grafico:

csv_reader = csv.reader (aperta ( 'test.csv'))
BigX = float (-sys.maxint -1)
bigy = float (-sys.maxint -1)
smallx = float (sys.maxint)
Smally = float (sys.maxint)

4 Iterare su ogni riga contenuta nell'oggetto lettore di memorizzare ogni riga come un vertice in un array di vertice. Nello stesso ciclo confrontare i valori di xey per memorizzare i loro limiti superiori e inferiori. Ordinare l'array vertice e poi scorrere di nuovo. Questo negozio volta i x ordinati e valori di y in matrici distinte:

verts = []
per la riga in csv_reader:

verts.append(row)
if float(row[0]) > bigx:
bigx = float(row[0])
if float(row[1]) > bigy:
bigy = float(row[1])
if float(row[0]) < smallx:
smallx = float(row[0])
if float(row[1]) < smally:
smally = float(row[1])

verts.sort ()
x_arr = []
y_arr = []
per vert in verts:

x_arr.append(vert[0])
y_arr.append(vert[1])

5 Creare un oggetto FigureCanvas utilizzando l'oggetto matplotlib pyplot importato. Aggiungere assi del grafico a FigureCanvas chiamando i add_axes funzione e passandogli un array di valori in forma di: a sinistra, in basso, la larghezza, l'altezza. Questi valori definiscono in cui il grafico è posizionato sulla tela --- che può variare da 0.0 a 1.0:

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

6 Formattare il grafico aggiunta di etichette e definendo i valori minimo e massimo per ogni asse:

ax.set_xlabel ( 'x dati')
ax.set_ylabel ( 'dati y')
ax.set_xlim (smallx, BigX)
ax.set_ylim (Smally, bigy)

7 Tracciare il grafico passando nei due array contenenti i valori x e y recuperati dal file CSV. Personalizzare la trama linea passando in valori opzionali come colore della linea (colore) o larghezza della linea (LW). Visualizzare il grafico finito chiamando il metodo show per aprire una finestra e memorizzare l'immagine chiamando savefig per creare un file bitmap su disco:

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

Consigli e avvertenze

  • Per creare i file che l'interprete Python può leggere è necessario utilizzare un editor di testo ASCII o codice che crea solo i file di testo.
  • È possibile memorizzare grafico immagini in molti formati di immagine differenti, tra cui: png, pdf, ps, e SVG.
  • Alcuni aspetti della installazione della libreria matplotlib e funzionalità variano su diverse piattaforme. Leggere attentamente la documentazione.
  • La biblioteca in grado di visualizzare informazioni numeriche in un vasto numero di modi e può essere finemente personalizzato. Una lettura approfondita della documentazione sarà necessaria per diventare esperti.