Ein Befehlszeilenskript, das Microsoft Excel verwendet, um ein Diagramm aus einer CSV-Datei zu zeichnen.
Dieses Projekt wurde ursprünglich von Antoine geschrieben. Dieses Repository ist nur ein Zweig des von ihm erstellten Originalprojekts. Ich kenne ihn nicht persönlich. Mir gefiel diese Arbeit, sie war noch nicht auf Github (soweit ich weiß), also habe ich hier ein Repo erstellt. Es folgt eine Erzählung des Originalautors. Wenn Sie Kommentare oder Vorschläge haben, besuchen Sie die Website des Autors. Um Probleme zu melden oder Verbesserungen anzufordern, öffnen Sie hier Probleme.
Ich mache Software-Prototyping mit einer breiten Palette von Programmiersprachen. Ich muss oft Daten generieren, die sich im Laufe der Zeit ändern und meist in einem Rasterformat angezeigt werden. Dies ist jedoch nicht der beste Weg, um zu verstehen, wie sich die Daten im Laufe der Zeit ändern, verglichen mit der Darstellung der Daten in einem Diagramm.
Die meisten Programmiersprachen, die ich kenne, bieten keine native Bibliothek zum Plotten von Daten in ein Diagramm. Es ist keine leichte Aufgabe. Die meisten Programmiersprachen erfordern oft externe Bibliotheken zur Implementierung des Prozesses und jede Bibliothek funktioniert nicht auf die gleiche Weise.
Excel ist eine native Plattform zum Parsen von CSV-Dateien (Comma-Separated Values) und kann per Skript erstellt werden, um das Ergebnis in einem Bild darzustellen.
Der Zweck dieses Skripts besteht darin, es jeder Programmiersprache, die Daten generiert, zu ermöglichen, die Daten in einem Bild darzustellen, indem die Rohdaten in einer CSV-Datei gespeichert und dann die Leistungsfähigkeit von Excel genutzt werden, um das Ergebnis in einem Bild darzustellen.
Im folgenden Abschnitt werden die Funktionen des csvplot-Skripts aufgeführt:
Das Skript weist einige Einschränkungen auf, die hier erläutert werden.
Die Auflösung des Ausgabebildes kann um +- 1 Pixel von der in der Befehlszeile angeforderten Auflösung abweichen. Dies stellt eine Einschränkung bei der Verarbeitung von Bildabmessungen durch Excel dar, da „Punkte“ als Basiseinheit und nicht tatsächliche Pixel verwendet werden. Es muss eine Umrechnung von Pixeln in Punkte berechnet werden, die kleine Genauigkeitsfehler enthalten kann.
Das einzige unterstützte Bildformat ist PNG. Es ist noch nicht bekannt, ob Excel tatsächlich JPG zum Exportieren von Diagrammen unterstützt, aber PNG scheint der perfekte Kandidat zu sein, da es sich um ein verlustfrei komprimiertes Format handelt.
Es wird erwartet, dass die erste Zeile jeder Spalte den Titel der Spalte enthält, der als Name der gezeichneten Reihe im Diagramm verwendet wird.
Der Befehl zum Starten des Skripts lautet wie folgt. Das Skript muss mit mindestens 6 Befehlszeilenargumenten aufgerufen werden.
Name | Beschreibung |
---|---|
Eingabedatei | Pfad der Eingabe-CSV-Datei |
Ausgabedatei | Pfad des ausgegebenen PNG-Bilds |
Breite | Breite des Ausgabebildes in Pixel |
Höhe | Höhe des Ausgabebildes in Pixel |
Serie Nr. 1, Spalte X | X-Spaltenindex der ersten Serie |
Serie Nr. 1, Y-Spalte | Y-Spaltenindex der ersten Serie |
Serie Nr. 2, Spalte X | X-Spaltenindex der zweiten Serie |
Serie Nr. 2, Y-Spalte | Y-Spaltenindex der zweiten Serie |
Serie #n, Spalte X | ... |
Serie #n, Y-Spalte | ... |
Beachten Sie, dass Spaltenindizes auf 1 und nicht auf 0 basieren. Das bedeutet, dass Spalte A Spalte 1 und nicht Spalte 0 ist.
Das Skript ist in VBScript geschrieben. Verwenden Sie Folgendes, um das Skript aus einer Batchdatei (*.bat) auszuführen:
@echo off
cscript //nologo "%~dp0csvplot.vbs" pathtodemo.csv pathtodemo.png 800 600 1 2
pause
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:>cd /d C:Tempcsvplotdemo
C:Tempcsvplotdemo>cscript //Nologo csvplot.vbs %cd%CarEngineModel.csv %cd%CarEngineModel.png 853 479 1 3 1 4 1 2 Loading input file C:TempcsvplotdemoCarEngineModel.csv...
File load successful.
File has 4 columns.
Plotting series of columns 1 and 3...
Plotting series of columns 1 and 4...
Plotting series of columns 1 and 2...
File C:TempcsvplotdemoCarEngineModel.png saved successfully.
C:Tempcsvplotdemo>
Das folgende Beispiel zeigt den Schlusswert der Apple-Aktien im Jahr 2015. Die Daten werden hier von Nasdaq bereitgestellt.
Die CSV-Daten können hier heruntergeladen werden: Apple Share Prices over time (2015).csv
Das Folgende zeigt ein hypothetisches Automotormodell, bei dem die Geschwindigkeit basierend auf der Rückmeldung des Gaspedals mit der Zeit zunimmt oder abnimmt.
Die CSV-Daten können hier heruntergeladen werden: Car Engine Model.csv
Das Folgende zeigt ein Diagramm der Funktionen sin(), cos() und log() in Excel.
Die CSV-Daten können hier heruntergeladen werden: sin(x), cos(x) & log(x) function data.csv