Hallo, dieses Thema ist zwar keine Frage, aber für die Codesammlung war es mir doch zu schmal. Im Anhang sind ein paar Beispieldateien die zeigen, wie man mit gnuplot in Trenddiagrammen mittels der Tastatur navigieren kann. Bei den Beispieldateien habe ich zwei csv-Dateien angefügt, je eine für Temperatur- und Luftdruck-Messwertreihen. Beide Messdaten werden in einem gemeinsamen Diagramm mit der Zeit auf der X-Achse dargestellt. Mit den Pfeil-Tasten links/rechts lässt sich in der Zeit zurück/vor navigieren, mit den +/- Tasten kann man den dargestellten Zeitbereich tageweise strecken/verkürzen. In der Windows Version kann man im Diagramm zusätzlich über die Maus zoomen. Nach dem Zoomen wird beim Verschieben des Zeitbereichs das Diagramm um die gezoomte Zeitdifferenz verschoben. Getestet habe ich es mit der Windows Gnuplot Version 4.4. Irgendwo mitten in den Demo-Dateien von gnuplot findet man zur Maus/Tastatur-Auswertung auch ein Beispiel. Da ich aber nie alle durchgeklickt habe, ist mir diese recht nützliche Funktion nie weiter aufgefallen. Da die generelle Funktionalität auch in den Demo-Dateien enthalten sind, gehe ich mal davon aus dass es auch unter einem X11 Terminal funktioniert. Dateien: - main.plt (Hauptdatei, diese muss mit wgnuplot gestartet werden) - loop.plt (wird von main.plt aufgerufen, beinhaltet die Auswertung der Tasten) - luftdruck.csv (Luftdruck Messwerte von 1.1.2011 bis heute) - temperatur.csv (Temperatur Messwerte von 1.1.2011 bis heute) Die Daten aus den CSV-Dateien sind im Anhang nur abgespeckt. Auf meinem Rechner haben die Dateien jeweils knapp 40.000 Zeilen, macht von der Geschwindigkeit her bei gnuplot aber keinen Unterschied. Das einzige Problem was ich feststellen konnte ist, wenn man zu schnell die Tasten drückt bleibt gnuplot teilweise mal hängen. Man sollte nach jedem Tastendruck warten bis das Diagramm neu gezeichnet wurde. Gruß Thomas
Danke für den Hinweis, wieder was dazugelernt :) > Das einzige Problem was ich feststellen konnte ist, wenn man zu schnell > die Tasten drückt bleibt gnuplot teilweise mal hängen. Dieses Problem hatte ich nicht, allerdings verwende ich die Linux- Version mit Wxt-Ausgabefenster. Drückt man die Tasten zu schnell (oder zu lange, so dass der Autorepeat einsetzt), werden die Tastedrücke gepuffert und der Reihe nach abgearbeitet. Dauert der Bildaufbau zu lange, kommt es allerdings zu etwas nervigen Nachlaufeffekten. Aber etwas anderes ist mir aufgefallen: Wenn man mit den Pfeiltasten so weit nach links oder rechts scrollt, dass keine Daten mehr in dem darzu- stellenen Zeitintervall liegen, bricht Gnuplot mit folgender Meldung ab: "loop.plt", line 582: all points y value undefined! Sicher kann man das irgendwie abfangen, habe jetzt aber nicht nachge- schaut, wie.
Yalu X. schrieb: > Dieses Problem hatte ich nicht, allerdings verwende ich die Linux- > Version mit Wxt-Ausgabefenster. Drückt man die Tasten zu schnell (oder > zu lange, so dass der Autorepeat einsetzt), werden die Tastedrücke > gepuffert und der Reihe nach abgearbeitet. Dauert der Bildaufbau zu > lange, kommt es allerdings zu etwas nervigen Nachlaufeffekten. Ich nutze auch das Wxt-Terminal. Unter Windows scheint es da aber keinen Puffer zu geben, denn irgendwann bleibt die Ausgabe einfach stehen. Man kann dann fortsetzen, indem man in das Fenster mit der gnuplot Konsole geht (wenn man daraus gestartet hat) und dort eine Taste drückt. Das Windows Terminal (set terminal windows) zeigt diese Effekte überhaupt nicht. Auch ist dieses Terminal in der Darstellung um einiges flotter als das Wxt-Terminal. Aber dort fehlen z.B. die Zoom-Historie, und die Bedienung/Darstellung ist auch nicht so schön. > Aber etwas anderes ist mir aufgefallen: Wenn man mit den Pfeiltasten so > weit nach links oder rechts scrollt, dass keine Daten mehr in dem darzu- > stellenen Zeitintervall liegen, bricht Gnuplot mit folgender Meldung ab: > > "loop.plt", line 582: all points y value undefined! > > Sicher kann man das irgendwie abfangen, habe jetzt aber nicht nachge- > schaut, wie. Das habe ich auch schon bemerkt. In meinen Messwertreihen befinden sich auch ein paar Lücken, und sobald im gewählten Zeitbereich keine y-Werte vorliegen hält gnuplot an. Ich habe unter den gnuplot Kommandos aber noch nichts gefunden was man dazu missbrauchen könnte. Das loop.plt Skript ist auch universell einsetzbar. Man kann an jedes bestehende plot-Skript einfach den Aufruf der loop.plt anhängen, und es dadurch mit der Tastatur bedienbar machen. Also als erstes die "normale" Diagramm-Datei laden, und die loop.plt dann hinterherschieben ;-) Damit man nicht auf die Zeit auf der X-Achse festgelegt ist, könnte man mit +/- einfach den aktuellen Zeitbereich verdoppeln oder halbieren. -- Falls jemand mit den Beispieldateien Probleme hat: In der loop.plt muss die Zeile 35 "print "S_DAY = " .S_DAY" entfernt werden, die ist von Tests übrig geblieben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.