Mest databas -och kalkylprogram kan enkelt utmatningstabell data i form av CSV ( kommaseparerad -värden ) filer . Medan CSV-filer är praktiskt på grund av sin enkelhet och portabilitet , de är ineffektiva för att visa eller analysera stora mängder data . Använda Python och en extern kodbibliotek , matplotlib , kan en programmerare övervinna denna begränsning genom att omvandla de råa CSV-data i en lättläst , visuellt tilltalande diagram lämplig för webb eller tryckt publikation . Saker du behöver
Python skriptmiljö
matplotlib , 2D plottning Python library
CSV -fil som innehåller två kolumner med numeriska data
Textredigerare
Visa fler instruktioner
Rendering ett CSV -fil som en graf med Python och matplotlib
1
Skapa en enkel CSV-fil för testning . Ett prov kan se ut så här :
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Import nödvändiga python biblioteken i koden fil :
importera matplotlib.pyplot som pltimport csvimport sys
3
Öppna CSV -filen och skapa en läsare objekt från det . Deklarera variabler för att definiera övre och undre gräns för x -och y-värden axeln i diagrammet :
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 )
4
iterera över varje rad som finns i läsaren som lagrar varje rad som en punkt i ett vertex array. I samma slinga jämföra de x-och y -värdena för att lagra sina övre och nedre gränser. Sortera vertex array och sedan loopa igenom det igen . Denna gång lagra sorterade x och y-värden i separata arrayer :
verts = [ ] för rad i csv_reader : verts.append ( v ) om float ( rad [ 0 ] ) > bigx : bigx = float ( v [ 0 ] ) om float ( rad [ 1 ] ) > bigy : bigy = float ( rad [ 1 ] ) om float ( rad [ 0 ] ) < smallx : smallx = float ( rad [ 0 ] ) om float ( v [ 1 ] ) < smally : smally = float ( rad [ 1 ] ) verts.sort ( ) x_arr = [ ] y_arr = [ ] för vert i verts : x_arr.append ( vert [ 0 ] ) y_arr.append ( vert [ 1 ] )
5
Skapa en FigureCanvas objekt med importerade matplotlib pyplot objektet . Lägg diagrammets axlar till FigureCanvas genom att anropa funktionen add_axes och passerar den en rad värden i form av : vänster , botten , bredd , höjd . Dessa värden definierar där grafen placeras på arbetsytan --- de kan mellan 0,0 och 1.0:
fig = plt.figure ( ) AX = fig.add_axes ( [ 0,1 , 0,1 , 0,8 , 0,8 ] )
6
Formatera grafen lägga etiketter och definiera de minsta och största värdena för varje axel :
ax.set_xlabel ( ' x uppgifter ' ) ax.set_ylabel ( ' y-data ' ) ax.set_xlim ( smallx , bigx ) ax.set_ylim ( smally , bigy )
7
Rita grafen genom att passera i de två matriser som innehåller x -och y-värden hämtas från CSV -filen . Anpassa linjen tomt genom att passera in valfria värden såsom linje färg ( färg ) eller linjebredd ( lw ) . Visa det färdiga diagrammet genom att anropa show metoden för att öppna ett fönster och lagra bilden genom att ringa savefig att skapa en bitmap -fil på disk :
ax.plot ( x_arr , y_arr , color = " blue", lw = 2 ) plt.show ( ) fig.savefig ( ' test.png ' ) katalog