Mest database og regneark applikationer kan nemt output tabel data i form af CSV ( kommasepareret -værdier ) filer. Mens CSV-filer er handy på grund af deres enkelhed og portabilitet, de er ineffektive til at vise eller analyse af store mængder data . Brug Python og en ekstern kode bibliotek , matplotlib kan en programmør overvinde denne begrænsning ved at konvertere de rå CSV data i en læsbar , visuelt tiltrækkende graf egnet til web eller print publikation. Ting du skal
Python scripting miljø
Matplotlib , 2D plotte Python bibliotek
CSV-fil , der indeholder to kolonner med numeriske data
Text editor
Vis Flere Instruktioner
gengive en CSV-fil som en graf Brug Python og Matplotlib
1
Opret en simpel CSV-fil til test. En prøve kan se sådan ud : Hej
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Importer de nødvendige python biblioteker i din kode fil : Hej
importere matplotlib.pyplot som pltimport csvimport sys
3
Åbn CSV -fil og oprette en læser objekt fra det. Erklær variable at definere de øvre og nedre grænser for x -og y-aksen værdier graf
csv_reader = csv.reader (åbne (» test.csv ) ) BigX = float ( - sys.maxint - 1 ) bigy = float ( - sys.maxint -1) smallx = float ( sys.maxint ) smally = float ( sys.maxint )
4
gentage over hver række , der er indeholdt i læseren objektet lagring hver række som et toppunkt i en vinkelspids array. I samme loop sammenligne x og y værdier for at opbevare deres øvre og nedre grænser . Sortere vertex array og derefter loop igennem det igen. Denne gang Opbevar sorteres x-og y -værdier i separate arrays : Hej
verts = [ ] for række i csv_reader : verts.append ( række) hvis float (række [0] ) > BigX : BigX = float ( rækken [0] ) , hvis float (række [1] ) > bigy : bigy = float (række [1] ), hvis float (række [0] ) < smallx : smallx = float (række [0] ) , hvis float ( rækken [1] ) < smally : smally = float (række [1] ) verts.sort () x_arr = [ ] y_arr = [ ] for vert i verts : x_arr.append ( vert [0] ) y_arr.append ( vert [1] )
5
Opret en FigureCanvas objekt ved hjælp af importerede matplotlib pyplot objekt. Tilføj grafens akser til FigureCanvas ved at kalde funktionen add_axes og sende den en matrix af værdier i form af : venstre, nederst , bredde, højde . Disse værdier definerer hvor grafen er placeret på lærredet --- de kan spænde fra 0.0 til 1.0 : Hej
figen = plt.figure () ax = fig.add_axes ( [ 0,1 , 0,1, 0,8, 0,8 ] )
6
Format grafen tilføje etiketter og definere minimum og maksimum værdier for hver akse : Hej
ax.set_xlabel (»x data ) ax.set_ylabel ( 'y data ' ) ax.set_xlim ( smallx , BigX ) ax.set_ylim ( smally , bigy )
7
Plot grafen ved at passere i de to arrays , der indeholder x-og y -værdier hentet fra CSV-filen. Tilpas linjeplot ved at passere i valgfri værdier som linje farve ( farve) eller line bredde ( LB) . Vise den færdige grafen ved at kalde showet metode til at åbne et vindue og gemme billedet ved at kalde savefig at skabe en bitmap-fil på disken : Hej
ax.plot ( x_arr , y_arr , color = 'blå' , lw = 2 ) plt.show () fig.savefig ( test.png )