Die meisten Datenbank- und Tabellenkalkulationsprogrammen kann bequem Output-Tabelle Daten in Form von CSV ( Komma -getrennte - Werte ) Dateien . Während CSV praktisch wegen ihrer Einfachheit und Mobilität sind , sind sie unwirksam für die Anzeige oder die Analyse großer Datenmengen. Mit Python und einem externen Code-Bibliothek , matplotlib kann ein Programmierer diese Einschränkung durch die Umwandlung der Roh- CSV-Daten in ein lesbares , optisch ansprechende Grafik für Web oder Print-Publikation zu überwinden. Things You
Python Scripting-Umgebung
Matplotlib , 2D brauchen Plotten Python Bibliothek
CSV-Datei mit zwei Spalten von numerischen Daten
Texteditor
anzeigen Weitere Anweisungen
Rendern ein CSV -Datei als Graph mit Python und Matplotlib
1
erstellen Sie eine einfache CSV-Datei zum Testen.
1,22,33,84,135,186,217,137.5,42.5,4.3
2
Import die notwendigen Python-Bibliotheken in den Code -Datei : Eine Probe könnte wie folgt aussehen
importieren matplotlib.pyplot als pltimport CSVImport sys
3
Öffnen Sie die CSV-Datei und erstellen Sie ein Reader-Objekt von ihm. Variablen deklarieren , um die Ober-und Untergrenzen für die x -und y- Achse Werte des Graphen definieren :
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
Iteration über jede Zeile in der Reader-Objekt enthaltenen Speichern jeder Zeile als Knoten in einem Vertex-Array . In derselben Schleife vergleicht die x -und y- Werte, um die oberen und unteren Grenzen zu speichern. Sortieren Sie die Vertex-Array und dann die Schleife durch sie wieder . Diesmal store die sortierte x -und y- Werte in separate Arrays :
Verts = [] für Zeile in csv_reader : verts.append (Zeile) , wenn Schwimmer ( row [ 0] ) > BigX : BigX = float ( row [ 0] ) , wenn Schwimmer ( row [ 1] ) > Bigy : Bigy = float ( row [ 1] ) , wenn Schwimmer ( row [ 0] ) < smallx : smallx = float (row [0]) , wenn Schwimmer ( row [ 1] ) < smally : smally = float ( row [ 1] ) verts.sort () x_arr = [] y_arr = [] für vert in Verts : x_arr.append ( vert [0]) y_arr.append ( vert [1] )
5
erstellen FigureCanvas Objekt mit der importierten matplotlib pyplot Objekt . In das Diagramm zu den Achsen FigureCanvas durch den Aufruf der Funktion add_axes und übergeben Sie ein Array von Werten in Form von: links, unten , Breite, Höhe . Diese Werte definieren, wo die Grafik auf der Leinwand platziert wird --- sie kann von 0,0 bis 1,0 reichen :
fig = plt.figure () = ax fig.add_axes ( [0.1 , 0.1 , 0.8, 0.8] )
6
Format der Graph Hinzufügen von Labels und der Festlegung der minimalen und maximalen Werte für jede Achse :
ax.set_xlabel ( cm x data ' ) ax.set_ylabel ( ' y-Daten ' ) ax.set_xlim ( smallx , BigX ) ax.set_ylim ( smally , Bigy )
7
Plot die Grafik , indem in den beiden Arrays, die die x-und y-Werte aus der CSV- Datei abgerufen werden. Passen Sie die Linienplot durch Einleiten optional Werte wie Linie (Farbe ) oder Linienbreite ( lw ) . Zeigen Sie die fertige Grafik durch Aufrufen der Show -Methode, um ein Fenster zu öffnen und speichern Sie das Bild , indem Sie savefig um eine Bitmap -Datei auf der Festplatte zu erstellen :
ax.plot ( x_arr , y_arr , color = 'blue' , lw = 2) plt.show () fig.savefig ( ' test.png ')