Gibt es da draußen ein gutes Befehlszeilen-UNIX-Diagramm- / Grafik- / Plot-Tool? Ich suche nach etwas, das xy-Punkte in einem ASCII-Diagramm darstellt.
Zur Verdeutlichung suche ich nach etwas, das ein Diagramm in ASCII ausgibt (wie im ASCII-Art-Stil), damit ich es über eine interaktive Shell-Sitzung verwenden kann, ohne X zu benötigen.
unix
charts
graph
matplotlib
bajafresh4life
quelle
quelle
Antworten:
Versuchen Sie es mit Gnuplot . Es hat sehr leistungsfähige Grafikmöglichkeiten.
Es kann auf folgende Weise an Ihr Terminal ausgegeben werden:
quelle
options are feed 79 24'
Nachricht? Ist das Höhe und Breite? Können Sie Ihr Beispiel erweitern, um sie festzulegen?Es
gnuplot
ist zwar mächtig, aber auch sehr irritierend, wenn Sie nur eine Reihe von Punkten einpfeifen und ein Diagramm erhalten möchten.Zum Glück hat jemand eplot (easy plot) erstellt, der den ganzen Unsinn für Sie erledigt.
Es scheint keine Option zu geben, um Terminalgraphen zu erzwingen. Ich habe es so gepatcht:
Ein Anwendungsbeispiel:
quelle
Eine andere Option, auf die ich gerade gestoßen bin, ist bashplotlib . Hier ist ein Beispiel, das mit (ungefähr) denselben Daten wie mein Eplot-Beispiel ausgeführt wird :
Das Anpassen der Fächer hilft der Auflösung ein wenig:
quelle
Grundstücke in einer einzigen Zeile sind wirklich einfach, und kann man helfen , siehe Muster von Höhen und Tiefen.
Siehe auch pysparklines .
(Kennt jemand schräge Unicode-Linien, die zusammengefügt werden könnten, um Linien- und keine Balken-Diagramme zu erstellen?)
quelle
feedgnuplot ist ein weiteres Frontend von gnuplot, das das Weiterleiten von Daten übernimmt.
quelle
eplot
anderen Antwort?Siehe auch: asciichart (implementiert in Node.js, Python, Java, Go und Haskell)
quelle
Gnuplot ist die endgültige Antwort auf Ihre Frage.
Ich persönlich bin auch ein großer Fan der Google Chart-API , auf die über die Befehlszeile mit Hilfe von wget (oder curl) zugegriffen werden kann, um eine PNG-Datei herunterzuladen (und mit xview oder ähnlichem anzuzeigen). Ich mag diese Option, weil ich finde, dass die Diagramme etwas hübscher sind (dh besseres Antialiasing).
quelle
Sie sollten gnuplot verwenden und nach dem Start den Befehl "set term dumm" eingeben. Sie können auch eine Zeilen- und Spaltenanzahl angeben. Hier ist die Ausgabe von gnuplot, wenn Sie "set term dumm 64 10" und dann "plot sin (x)" ausgeben:
Bei 79x24 sieht es besser aus (verwenden Sie die 80. Spalte nicht auf einer 80x24-Anzeige: Einige Fluchimplementierungen verhalten sich in der letzten Spalte nicht immer gut).
Ich verwende gnuplot v4, aber dies sollte auf etwas älteren oder neueren Versionen funktionieren.
quelle
Eine weitere einfachere / leichtere Alternative zu Gnuplot ist ervy , ein NodeJS-basiertes Terminal-Chart-Tool.
Unterstützte Typen: Streuung (XY-Punkte), Balken, Torte, Kugel, Donut und Messgerät.
Anwendungsbeispiele mit verschiedenen Optionen finden Sie im GitHub-Repo des Projekts
quelle
Überprüfen Sie den Paketplotext , mit dem Daten mit python3 direkt auf dem Terminal gezeichnet werden können. Es ist sehr intuitiv, da seine Verwendung dem matplotlib- Paket sehr ähnlich ist .
Hier ist ein grundlegendes Beispiel:
Sie können es mit dem folgenden Befehl installieren:
Bei matplotlib sind die Hauptfunktionen Streuung (für einzelne Punkte), Plot (für durch Linien verbundene Punkte) und Show (um das Plot tatsächlich auf dem Terminal zu drucken). Es ist einfach, die Plotabmessungen, die Punkt- und Linienstile und was auch immer anzugeben, um die Achsen, Zahlenticks und Endgleichungen anzuzeigen, mit denen die geplotteten Koordinaten in die ursprünglichen realen Werte konvertiert werden.
Hier ist der Code zum Erstellen des oben gezeigten Diagramms:
Die Option im
clear=True
Innerenshow
wird verwendet, um das Terminal vor dem Plotten zu löschen. Dies ist beispielsweise nützlich, wenn ein kontinuierlicher Datenfluss geplottet wird. Ein Beispiel für die Darstellung eines kontinuierlichen Datenflusses ist hier dargestellt:In der Paketbeschreibung finden Sie weitere Informationen zum Anpassen des Diagramms. Das Paket wurde unter Ubuntu 16 getestet, wo es perfekt funktioniert. Mögliche zukünftige Entwicklungen (auf Anfrage) könnten eine Erweiterung auf Python2 und andere grafische Schnittstellen (z. B. Jupiter) beinhalten. Bitte lassen Sie mich wissen, wenn Sie Probleme bei der Verwendung haben. Vielen Dank.
Ich hoffe das beantwortet dein Problem.
quelle
Außerdem ist Spark ein schönes kleines Balkendiagramm in Ihrer Shell.
quelle
Hier ist mein Patch für eplot, der eine -T-Option für die Terminalausgabe hinzufügt:
Auf diese Weise können Sie es ausführen
eplot -T
, um anstelle eines Gnuplot-Fensters ein ASCII-Grafikergebnis zu erhalten.quelle
-d