Temat: Wykres dzienny, tygodniowy, miesieczny

Witam, mam pytanie odnośnie generowania wykresów.
do generowania wykresu korzystam  ze skryptu:

#!/bin/sh

GNUPLOT_COMMAND="/tmp/gnuplot_cmd"
touch ${GNUPLOT_COMMAND}

cat > ${GNUPLOT_COMMAND} << __EOF__
set terminal png small size 800,500
set output '/hdd/www/temperatura.png'
set title "Wykres temperatury"
set xlabel "godzina"
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set ylabel "temperatura °C"
set format x "%H"
set grid
set key left
plot '/hdd/temperatura.txt' using 1:3 t 'dane rzeczywiste' with lines lt 1
quit
__EOF__

gnuplot ${GNUPLOT_COMMAND}
rm ${GNUPLOT_COMMAND}

Wykres się generuje i na początku wszystko było ok, ale teraz gdy danych jest więcej wykres stał się mało czytelny.

Moje pytanie brzmi jak zmienić skrypt aby generował wykres tylko z ostatnich 24 godzin?

Pozdrawiam Łukasz

2

Odp: Wykres dzienny, tygodniowy, miesieczny

Zamiast /hdd/temperatura.txt daj plik w którym masz ostatnie XXXX linii, odpowiadające przedziałowi ostatnich 24 godzin. tail -n ileś tam

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Wykres dzienny, tygodniowy, miesieczny

Ah no tak, nie pomyślałem o tym.

A jak dodać linie trendu?

4

Odp: Wykres dzienny, tygodniowy, miesieczny

Idź na stronę gnuplot i zobacz jak kreślić trendy, błędy czy krzywe beziera.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Wykres dzienny, tygodniowy, miesieczny

ok zerknę

mam jeszcze pytanie odnośnie tail, bo jak wpisałem tail -10 /hdd/temperatura.txt to wyskakuje mi błąd:

"/tmp/gnuplot_cmd", line 13: warning: Skipping unreadable file "tail -10 /hdd/temperatura.txt"

6

Odp: Wykres dzienny, tygodniowy, miesieczny

Nie, nie jako argument dla plota.

tail -10 /hdd/temperatura.txt > /tmp/nowyplik.txt

i podaj /tmp/nowyplik.txt jako argument.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Wykres dzienny, tygodniowy, miesieczny

ok dodałem tail i działa, ale dodałem też

plot '/hdd/tmp.txt' using 1:3 t 'dane rzeczywiste' with lines lt 1
plot '/hdd/tmp.txt' smooth bezier t 'dane usrednione' with lines lt 1
quit

i niestety nie chce rysować krzywej beizera

8

Odp: Wykres dzienny, tygodniowy, miesieczny

Bo źle zrobiłeś smile

plot '/hdd/tmp.txt' using 1:3 t 'dane rzeczywiste' with lines lt 1, '/hdd/tmp.txt' smooth bezier t 'dane usrednione' with lines lt 1

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Wykres dzienny, tygodniowy, miesieczny

Tak też jest źle

plot '/hdd/tmp.txt' using 1:3 t 'dane rzeczywiste' with lines lt 1, '/hdd/tmp.txt' smooth bezier t 'dane usrednione' with lines lt 1
                                                                                                                                    ^
"/tmp/gnuplot_cmd", line 12: Need full using spec for x time data

10

Odp: Wykres dzienny, tygodniowy, miesieczny

Bo zapominałeś dodać  using 1:3 t  'dane usrednione'  smooth bezier a ja tylko składnię poprawiłem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Wykres dzienny, tygodniowy, miesieczny

Działa dzięki!!!!