Hallo,
ich möchte einige Temperaturen, die zyklisch von einem Messgerät abgefragt werden, im 10-s-Takt mit gnuplot darstellen. Das funktioniert soweit ganz gut.
OS: Lubuntu
Linux lem01 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 17:31:43 UTC 2013 i686 i686 i386 GNU/Linux
gnuPLot Version: 4.4
Problem: Jedes Mal, wenn gnuplot in der Messschleife mit Daten gefüttert wird, dann bekommt gnuplot den Fokus. Wenn man nebenbei z.B. einen Text schreiben möchte, dann wird man also im 10-s-Abstand von dieser Fokus-Übernahme durch gnuplot gestört. Gibt es eine Möglichkeit, dies zu unterbinden? Das gnuplot-Fenster soll also aktualisiert werden, wenn es mit Daten gefüttert wird; Es soll aber nicht den Fokus an sich ziehen, d.h. auf Tastatur- und Maussignale reagieren.
Hier noch der Quelltext:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?C Initialisierung: p_gnu = popen("gnuplot" , "w"); // eine Pipe für die Kommunikation mit gnuplot öffnen ... // sonstige Formatierungen fprintf( p_gnu, "set key left box\n"); // Legendebox links fflush( p_gnu ); // Befehle sofort ausführen In der Messschleife: // Daten mit gnuplot darstellen fprintf( p_gnu, "plot \"%s\" u 1:2, \"\" u 1:3, \"\" u 1:4, \"\" u 1:5\n", outfile); fflush( p_gnu ); // Befehl sofort ausführen // Daten in PNG-Datei plotten fprintf( p_gnu, "set terminal push\n"); // save the current terminal settings fprintf( p_gnu, "set terminal png\n"); // change terminal to png fprintf( p_gnu, "set output \"%s\"\n", outfile_png); fflush( p_gnu ); fprintf( p_gnu, "replot\n"); // plot the picture into the png file fprintf( p_gnu, "set output\n"); // restore output to the interactive mode fprintf( p_gnu, "set terminal pop\n"); // restore the terminal fflush( p_gnu ); Zum Programmende: pclose(p_gnu); ?> |