La maggior parte del database e fogli di calcolo possono comodamente trasmettere i dati della tabella sotto forma di file CSV ( valori separati da virgola) file . 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 leggibile , visivamente attraente grafico adatto per il web o la pubblicazione di stampa. Cose che ti serviranno
scripting Python ambientaliste Matplotlib , 2D tramando Python biblioteca
file CSV contenente due colonne di dati numerici
editor di testo
Show More Istruzioni
Il rendering di una File CSV come un grafico utilizzando Python e Matplotlib
1
creare un semplice file CSV per il test. Un esempio potrebbe essere simile a questo:
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Importa le necessarie librerie di Python nel proprio file di codice :
importare matplotlib.pyplot come PLTImport csvimport sys
3
Aprire il file CSV e di creare un oggetto lettore da esso. Dichiarare le variabili per definire i limiti superiori e inferiori per i valori x e l'asse 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 ) economici 4
iterazioni su ogni riga contenuta nell'oggetto lettore di memorizzazione di ogni fila come un vertice in un vertex array . Nello stesso loop confrontare i valori x ed y , al fine di memorizzare i loro limiti superiori e inferiori . Ordinare di nuovo l'array vertice e quindi ciclo attraverso di essa . Questo negozio volta la x ordinata e valori y in array separati :
verts = [ ] for row in csv_reader : verts.append (riga) se galleggiante ( row [ 0 ] ) > BigX : BigX = float ( row [ 0 ] ) se galleggiante ( row [ 1 ] ) > Bigy : Bigy = float ( row [ 1 ] ) se galleggiante ( row [ 0 ] ) < smallx : smallx = float (row [ 0 ] ) se galleggiante ( 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 ] ) economici 5
Creare un oggetto FigureCanvas utilizzando l'oggetto pyplot matplotlib importato. Aggiungere gli assi del grafico per i FigureCanvas chiamando i add_axes funzione e passando un array di valori in forma di : a sinistra , in basso , larghezza, altezza . Questi valori definiscono dove il grafico è posizionato sulla tela --- Essi possono variare da 0.0 a 1.0 :
fig = plt.figure ( ) ax = fig.add_axes ( [ 0.1 , 0.1 , 0.8 , 0.8 ] ) economici 6
formato grafico aggiungendo etichette e definire i valori minimo e massimo per ogni asse :
ax.set_xlabel ( ' x dati ') ax.set_ylabel ( ' y dati ' ) ax.set_xlim ( smallx , BigX ) ax.set_ylim ( smally , Bigy ) economici 7
tracciare il grafico passando i due array contenente i valori x e y recuperato dal file CSV . Personalizzare la trama linea passando in valori opzionali , come il 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 ' ) per