CSV-Dateien sind aufgrund ihrer Einfachheit und Portabilität praktisch, sie sind für die Anzeige oder Analyse großer Datenmengen ineffektiv. Sie zeigen die Daten jedoch nicht visuell an.
Bildnachweis: SARINYAPINNGAM/iStock/GettyImages
Die meisten Datenbank- und Tabellenkalkulationsanwendungen können Tabellendaten bequem in Form von CSV-Dateien (durch Kommas getrennte Werte) ausgeben. Obwohl CSV-Dateien aufgrund ihrer Einfachheit und Portabilität praktisch sind, sind sie zum Anzeigen oder Analysieren großer Datenmengen ineffektiv. Um diese Einschränkung zu überwinden, kann ein Programmierer die Programmiersprache Python und Matplotlib zum Plotten verwenden Daten aus einer CSV-Datei und erstellen Sie ein lesbares, optisch ansprechendes Diagramm, das für Web oder Print geeignet ist Veröffentlichung.
Vorbereitung zum Plotten von CSV-Daten
Bevor Sie die CSV-Datei tatsächlich in Python plotten, sollten Sie sicherstellen, dass Sie über alle erforderlichen Tools verfügen und eine Testdatei erstellen. Dazu gehört die Installation von Python und der erforderlichen Bibliotheken sowie eine CSV-Datei, die zwei Spalten mit numerischen Daten enthält.
Video des Tages
Schritt 1: Testdatei erstellen
Öffnen Sie zunächst Ihren Texteditor und erstellen Sie eine einfache CSV-Datei zum Testen. Ein Beispiel könnte so aussehen:
1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3
Schritt 2: Importieren Sie die erforderlichen Bibliotheken
Jetzt können Sie die erforderlichen Python-Bibliotheken mit dieser Codezeile in Ihre Codedatei importieren:
import matplotlib.pyplot als plt import csv import sys
Graph in Python aus CSV. zeichnen
Nachdem Sie Ihre Vorbereitungen abgeschlossen haben, können Sie jetzt damit beginnen, Python tatsächlich zu verwenden, um ein Diagramm aus einer CSV-Datei zu zeichnen.
Schritt 1: Reader-Objekt erstellen
Öffnen Sie die CSV-Datei und erstellen Sie daraus ein Reader-Objekt. Deklarieren Sie Variablen, um die oberen und unteren Grenzen für die Werte der x- und y-Achse des Diagramms zu 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)
Schritt 2: Über Zeilen iterieren
Iteriere über jede Zeile, die in dem Leserobjekt enthalten ist, und speichere jede Zeile als einen Scheitelpunkt in einem Scheitelpunkt-Array. Vergleichen Sie in derselben Schleife die x- und y-Werte, um ihre oberen und unteren Grenzen zu speichern. Sortieren Sie das Vertex-Array und durchlaufen Sie es erneut. Speichern Sie diesmal die sortierten x- und y-Werte in separaten Arrays:
verts = [] für Zeile im csv_reader: verts.append (row) if float (row[0]) > bigx: bigx = float (row[0]) if float (row[1]) > bigy: bigy = float ( row[1]) wenn float (row[0]) < smallx: smallx = float (row[0]) if float (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])
Schritt 3: Erstellen Sie ein FigureCanvas-Objekt
Erstellen Sie ein FigureCanvas-Objekt mit dem importierten matplotlib-pyplot-Objekt. Fügen Sie der FigureCanvas die Achsen des Graphen hinzu, indem Sie die Funktion add_axes aufrufen und ihr ein Array mit Werten in der Form: left, bottom, width, height übergeben. Diese Werte definieren, wo der Graph auf der Leinwand platziert wird – sie können zwischen 0,0 und 1,0 liegen:
fig = plt.figure() ax = fig.add_axes([0,1, 0,1, 0,8, 0,8])
Schritt 4: Formatieren Sie das Diagramm
Formatieren Sie das Diagramm, indem Sie Beschriftungen hinzufügen und die Mindest- und Höchstwerte für jede Achse definieren:
ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (smally, bigy)
Schritt 5: Zeichnen Sie das Diagramm
Zeichnen Sie den Graphen, indem Sie die beiden Arrays mit den x- und y-Werten übergeben, die aus der CSV-Datei abgerufen wurden. Passen Sie das Liniendiagramm an, indem Sie optionale Werte wie Linienfarbe (color) oder Linienbreite (lw) übergeben. Zeigen Sie das fertige Diagramm an, indem Sie die Methode show aufrufen, um ein Fenster zu öffnen, und speichern Sie das Bild, indem Sie savefig aufrufen, 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')
Wichtige Überlegungen zu Dateien
Um Dateien zu erstellen, die der Python-Interpreter lesen kann, müssen Sie einen ASCII-Text- oder Code-Editor verwenden, der Nur-Text-Dateien erstellt. Sie können Diagrammbilder in vielen verschiedenen Bildformaten speichern, darunter: png, pdf, ps und svg.
Konsultieren Sie die Matplotlib-Dokumentation
Einige Aspekte der Installation und Funktionalität der Matplotlib-Bibliothek variieren auf verschiedenen Computerplattformen. Lesen Sie die Dokumentation sorgfältig durch. Die Bibliothek kann numerische Informationen auf vielfältige Weise anzeigen und kann fein angepasst werden. Eine gründliche Lektüre der Dokumentation ist notwendig, um kompetent zu werden.