Mest database og regneark kan enkelt sende tabelldata i form av CSV ( komma- separerte -verdier ) filer . Mens CSV-filer er praktisk på grunn av sin enkelhet og portabilitet , de er ineffektive for visning eller analysere store mengder data . Ved hjelp av Python og én ekstern kode bibliotek , matplotlib , kan en programmerer overkomme denne begrensningen ved å konvertere rå CSV data til et lesbart , visuelt attraktiv graf egnet for web eller trykt publikasjon. Du trenger
Python scripting miljø
Matplotlib , 2D-plotting Python bibliotek
CSV -fil som inneholder to kolonner med numeriske data
tekst editor
Vis flere instruksjoner
teikne eit CSV-fil som en graf ved hjelp Python og Matplotlib
en
Lag en enkel CSV -fil for testing. Et eksempel kan se slik ut : en
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Import nødvendige python bibliotekene til koden din fil : en
importere matplotlib.pyplot som pltimport csvimport sys
3
Åpne CSV -filen og opprette en leser objekt fra den. Erklærer variabler for å definere øvre og nedre grense for x -og y- aksen verdier av grafen :
csv_reader = csv.reader (åpne (' test.csv ') ) bigx = float ( - sys.maxint - 1 ) bigy = float ( - sys.maxint -1 ) smallx = float ( sys.maxint ) smally = float ( sys.maxint )
4
Iterate over hver rad som finnes i leseren objektet lagring hver rad som et toppunkt i et toppunkt array. I samme løkke sammenligne x-og y -verdier for å oppbevare sine øvre og nedre grenser . Sortere toppunktet matrise og deretter sløyfe gjennom det igjen . Denne gangen butikken den sorterte x -og y- verdier i egne rekker : en
verts = [ ] for rad i csv_reader : verts.append (rad ) hvis float ( row [ 0 ] ) > bigx : bigx = float ( row [ 0 ] ) hvis float (rad [ 1 ] ) > bigy : bigy = float (rad [ 1 ] ) hvis float ( row [ 0 ] ) < smallx : smallx = float ( row [ 0 ] ) hvis float ( rad [ 1 ] ) < smally : smally = float (rad [ 1 ] ) verts.sort ( ) x_arr = [ ] y_arr = [ ] for vert i verts : x_arr.append (vert [ 0 ] ) y_arr.append (vert [ 1 ] )
5
Lag en FigureCanvas objekt med importerte matplotlib pyplot objekt. Legg grafens akser til FigureCanvas ved å kalle funksjonen add_axes og passerer det en matrise med verdier i form av : venstre , bunn , bredde , høyde . Disse verdiene definerer hvor grafen er plassert på lerretet --- de kan variere fra 0.0 til 1.0 : en
fig = plt.figure ( ) ax = fig.add_axes ( [ 0.1 , 0.1, 0.8 , 0.8 ] )
6
Format grafen legge til etiketter og definere minimums-og maksimumsverdier for hver akse : en
ax.set_xlabel (' x data ') ax.set_ylabel (' y data ' ) ax.set_xlim ( smallx , bigx ) ax.set_ylim ( smally , bigy )
7
Plot grafen ved å passere i de to matriser som inneholder x-og y-verdiene hentes fra CSV -filen. Tilpass linjen tomten ved å passere i valgfrie verdier som tråd farge (farge ) eller linje bredde ( LW ) . Vise det ferdige grafen ved å kalle showet metode for å åpne et vindu og lagre bildet ved å ringe savefig å lage et bitmap fil på disken:
ax.plot ( x_arr , y_arr , color = ' blå ' , lw = 2 ) plt.show ( ) fig.savefig (' test.png ')