gplot: Ausfiltern "leerer" Werte

Begonnen von willyk, 27 März 2018, 09:04:54

Vorheriges Thema - Nächstes Thema

willyk

Hallo Experten,

in meinen dblogs gibt es manchmal "leere" Werte, die ich beim plotten gerne ausfiltern möchte; ansonsten werden die Werte als "0" interpretiert, was die Plotausgabe verfälscht.

Beispiel der Daten (Es geht um die dritte Zeile, die ausgefiltert werden soll):



# TIMESTAMP, DEVICE, TYPE, EVENT, reading, value, UNIT
2018-03-27 06:00:51, EG_Toilette_H, MAX, desiredTemperature: 20.0, desiredTemperature, 20.0, °C
2018-03-27 05:30:19, EG_Toilette_H, MAX, desiredTemperature: 20.0, desiredTemperature, 20.0, °C
2018-03-27 05:30:05, EG_Toilette_H, MAX, desiredTemperature auto, desiredTemperature, , °C
2018-03-27 05:02:35, EG_Toilette_H, MAX, desiredTemperature: 18.0, desiredTemperature, 18.0, °C
2018-03-27 05:02:34, EG_Toilette_H, MAX, desiredTemperature 18.0, desiredTemperature, 18.0, °C

Die Plot-Datei sieht so aus:

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics
set y2tics
set grid y2tics
set ylabel "Ventil in %"
set y2label "Temperatur in Grad Celsius"

#logdb <SPEC1>:desiredTemperature
#logdb <SPEC1>:temperature
#logdb <SPEC1>:valveposition

plot "<IN>" using 1:2 axes x1y2 title 'Soll-Temperatur (C)' ls l0fill_gyr lw 2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Ist-Temperatur (C)' ls l1 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Ventil (%)' ls l2 lw 3 with lines


Jemand einen Tip für mich, bitte?

Danke + Gruss
willyk



NUC mit Ubuntu, MAX!Cube, CUNO, 6 MAX WT, 16 MAX HT, 2 MAX Fensterkontakt, MaxScanner

Frank_Huber

zum filtern weis ich auch nichts.

Den leeren Wert auf z.B. 20 ändern müsste so gehen: (ungetestet)
#logdb <SPEC1>:desiredTemperature:::$val=($val=''?20:$val)