FHEM Forum

FHEM => Frontends => Thema gestartet von: ChrisW am 10 November 2013, 18:44:46

Titel: Plot mit bestimmten Farbbereichen ??
Beitrag von: ChrisW am 10 November 2013, 18:44:46
Hallo,

lässt sich ein Plot bauen der in einem Festgelegten Bereich Grün ist und darüber / darunter Rot ?

Z.b Stromverbrauch zwischen 0-100Watt Grün darüber Rot.

Irgendwo habe ich so etwas mal gesehen.
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: justme1968 am 10 November 2013, 18:48:45
das geht nur mit trixen. schau dir mal den plot für den luftqualitäts sensor aus de thread dort an.

gruss
  andre
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: ChrisW am 10 November 2013, 19:02:41
Okay Danke das habe ich mir schon fast gedacht :( Werd ich mir mal anschauen wenn ich meine anderen Probleme gelöst hab ;)
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: rudolfkoenig am 10 November 2013, 20:37:26
@justme1968: kannst Du mir helfen diesen Thread zu finden? Weder Google, noch die Forumssuche schaffen es, oder ich bin Blind.

@ChrisW: ich bin auch der Ansicht, dass das nur mit tricks geht: ich wuerde eine feste Wert-Skala definieren, und per SVG/CSS die Bereiche faerben. Bin aber nicht sicher, ob es ueberhaupt funktioniert.
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: justme1968 am 10 November 2013, 20:45:41
der thread ist der hier http://forum.fhem.de/index.php/topic,13166.msg102323.html#msg102323 (http://forum.fhem.de/index.php/topic,13166.msg102323.html#msg102323). ich sehe aber gerade das ich das plot file noch nicht gepostet hatte.

da habe ich es so gemacht das die kurve drei mal geplottet wird jeweils unterschiedlich eingefärbt und über einen $fld[2] ausdruck unterschiedlich oben beschnitten.

wenn man jeweils unten auch noch passend beschneidet könnte man vermutlich das übereinander malen auch noch verhindern und hat weniger einschränung bei den farbkombinationen.

gruss
  andre
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: rudolfkoenig am 11 November 2013, 09:35:54
Diese Definition wuerde ich auch gerne sehen :)

Meine Idee mit CSS Tricks funktioniert erstmal nicht, da ich nicht weiss wie man eine Farbe bis zu einem bestimmten (absoluten) Pixel angibt. Beschrieben sind ueberall nur prozentuale Werte, und dafuer muesste die Kurve immer den ganzen Bereich abdecken.
Siehe auch fhem/www/pgm2/svg_defs.svg
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: justme1968 am 11 November 2013, 09:47:59
eigentlich ist es ganz einfach. es ist nicht sehr effizient und durch das übereinander zeichenen sind nicht alle farbkombinationen möglich (das müsste mit begrenzen an der unterkante besser gehen). ich kann gerade kein file dran hängen deswegen eine version direkt als code. wenn SVG das direkt vielleicht mit einem fillcolor atribut und farbe/bereich zuordnung könnte wäre es natürlich eleganter.

gruss
  andre

# Created by FHEM/98_SVG.pm, 2013-10-24 18:46:23
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 title '<L1>'
set ytics
set y2tics
set grid ytics
set ylabel "Luftqualität"
set y2label ""

#FileLog 3:airquality.livingroom.*::$fld[2]>1000?1000:$fld[2]
#FileLog 3:airquality.livingroom.*::$fld[2]>1500?1500:$fld[2]
#FileLog 3:airquality.livingroom.*::
#FileLog 3:airquality.livingroom.*::
#FileLog 3:airquality.livingroom.*::

plot "<IN>" using 1:2 axes x1y2 title '.' ls l1fill lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y2 title '.' ls l4fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title '.' ls l0fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title '.' ls l4fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Luftqualität' ls l7 lw 1 with lines
Titel: Antw:Plot mit bestimmten Farbbereichen ??
Beitrag von: rudolfkoenig am 23 November 2013, 15:32:31
Ich knabbere immer noch an diesem Problem, habe dabei 5 neue SVG-styles (nur fuer default stylesheetPrefix) hinzugefuegt (2x gepunktet, 2x mit Schraffur, 1x ganz bunt), und die Anzeige der moeglichen Eintraege in dem .gplot-Editor dynamisch gemacht.

Achtung: der Name im style_svg.css muss mit .l anfangen, damit es im Plot-Editor auftaucht, und falls es gefuellt sein soll, muss fill enthalten.