2015-03-15 17 views
5

Używam następującego skryptu do drukowania odczytów z pliku .csv. Wykres jest odświeżany co sekundę, aby wyświetlić nowe dane, gdy symulacja jest uruchomiona. Działa to całkiem przyjemnie, chociaż jest trochę brzydka, ponieważ cały zestaw danych jest ponownie czytany (jeśli masz lepsze rozwiązanie, proszę dać mi znać)Wyjście Gnuplot na zamknięcie okna

Jednak po zamknięciu okna gnuplot skrypt nie wychodzi, ale po 1 sekundzie wstrzymać nowe okno spawnuje, co jest dość irytujące. Po zamknięciu okna wolałbym zamknąć mój skrypt. Czy istnieje sposób, aby to zarchiwizować?

#!/usr/bin/gnuplot 
set t wxt enhanced noraise 
set datafile separator ";" 
plot "../build/inputLink.csv" using 1:5 title 'Input Gear' with lines ,\ 
    "../build/inputLink.csv" using 1:7 title 'Input Gear Ratio' with lines,\ 
    ; 
pause 1 
reread 

Odpowiedz

4

Nie ma dokładnie taką funkcjonalność w gnuplot, aby związać okna close przycisk, aby wyjść z programu. Jednakże, można użyć bind zdefiniować klawisz skrótu, który opuszczającego pętlę:

#!/usr/bin/gnuplot 
set t wxt enhanced noraise 
set datafile separator ";" 
set style data lines 

done = 0 
bind all 'd' 'done = 1' 
while(!done) { 
    plot "../build/inputLink.csv" using 1:5 title 'Input Gear',\ 
     "" using 1:7 title 'Input Gear Ratio' 
    pause 1 
} 

I nie, nie ma innego sposobu, aby odświeżyć wykres innego niż rereading cały zestaw danych za każdym razem.

2

do odczytu/Reread trwać 100 linii zapisywane do pliku, który dołącza cokolwiek nowe dane przybył

plot "< tail -n 100 ../build/inputLink.csv" using 1:5 title \ 
'Input Gear' with lines , \ 
, "< tail -n 100"../build/inputLink.csv" using 1:7 title \ 
'Input Gear Ratio' with lines,\ 
    ; 

nie mam WXT Typ końcówek w systemie Debian, za pomocą zacisku X11 może wiążę key 's' i użyj go, aby opuścić okno gnuplot

pause 1 
bind "s" "unset output ; exit gnuplot" 
reread 
Powiązane problemy