Andersfarbige Labels in Plots

Begonnen von Bracew, 18 September 2023, 20:40:42

Vorheriges Thema - Nächstes Thema

sunrise

Hallo zusammen!

Vielen Dank für die Eingangsfrage und die Beschreibung der Lösung des Problems! :)

Bei mir sieht ein Beispiel so aus:
Du darfst diesen Dateianhang nicht ansehen.

Die fhem.cfg Datei dazu sieht so aus (die letzte Zeile - hier umgebrochen - ist relevant für die Farbgebung der Y/Y2-Achsenbeschriftungen):
define Mythz_Plot2_HC1Offset_Integral SVG FileLog_Mythz:thz2:CURRENT
attr Mythz_Plot2_HC1Offset_Integral captionPos auto
attr Mythz_Plot2_HC1Offset_Integral label sprintf("HC1_Soll - HC1_Ist %0.1fK, Integralwert %0.1f Kmin", $data{currval1}, $data{currval2})
attr Mythz_Plot2_HC1Offset_Integral plotsize 900,225
attr Mythz_Plot2_HC1Offset_Integral room Heizung_Plot
attr WEB Css div.SVG_Mythz_Plot2_HC1Offset_Integral text.ylabel[transform] { fill:blue;; }\
div.SVG_Mythz_Plot2_HC1Offset_Integral text.y2label { fill:red;; }

Nun frage ich Euch, ob eine einfachere Möglichkeit der Farbgebung möglich ist, d.h. dass die Farben der Beschriftungen der Y/Y2-Achsen sich automatisch an den Farben der Plots orientieren (=diesen gleich ist).

In meinem o.g. Beispiel sieht die .gplot Datei so aus:
# Created by FHEM/98_SVG.pm, 2023-11-08 15:58:00
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 "K"
set y2label "Kmin"
set yrange [-7:30]
set y2range [-200:200]

#FileLog_Mythz 17:Mythz.sHC1\x3a:0:$fld[16]-$fld[14]
#FileLog_Mythz 11:Mythz.sHC1\x3a:0:
#FileLog_Mythz 17:Mythz.sHC1\x3a:0:$fld[16]-$fld[16]

plot "<IN>" using 1:2 axes x1y1 title 'HC1_Soll - HC1_Ist' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Integralwert' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title ' ' ls l5 lw 1 with lines

'HC1_Soll - HC1_Ist': y1 = Y-Achse links; l2 = blau
'Integralwert': y2 = Y-Achse rechts; l0 = rot

Da damit klar ist, dass der Plot für 'HC1_Soll - HC1_Ist' blau ist und an der Y(1)-Achse links orientiert ist, wäre es schön, wenn daraus programmatisch ableitbar wäre, dass die Y(1)-Achsenbeschriftung auch blau ist (entsprechend für Y2 dann in diesem Beispiel rot).

Ist das möglich oder ist der Aufwand dafür zu groß (im Vergleich zum möglichen Nutzen)?


Herzlichen Dank für FHEM, die vielen tollen Möglichkeiten, die sich einem damit bieten und die nette und hilfsbereite Gemeinschaft des/der Entwickler und Nutzer hier im Forum! ❤️
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

rudolfkoenig

ZitatIst das möglich oder ist der Aufwand dafür zu groß (im Vergleich zum möglichen Nutzen)?
Moeglich ist vieles, ob der Aufwand zu gross ist muss der Programmierer entscheiden.
Fuer mich antworte ich mit ja, weil ich das nicht haben will :), und es ist definitiv mehr als ein "Einzeiler".
Es sind mehrere Labels pro Achse moeglich, und auch mehr als 2 Achsen, auch wenn Letzteres vom Plot-Editor nicht unterstuetzt wird.

sunrise

Vielen Dank, Rudolf, für Deine Rückmeldung! 🤗 Es ist ja durchaus machbar, das manuell hinzubekommen. :)
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2

sunrise

Zitat von: rudolfkoenig am 19 September 2023, 21:49:43Es ist die erste Variante, vor dem SVG-Namen muss aber SVG_ vorangestellt werden (mein Fehler).
D.h. im angehaengten Bild heisst die SVG wl_0, und um die Texte zu faerben musste ich Folgendes setzen:
div.SVG_wl_0 text.ylabel[transform] { fill:red; }
div.SVG_wl_0 text.y2label { fill:green; }

Wieso steht [transform] nur beim ylabel, nicht aber beim y2label?
Viele Grüße/kind regards
sunrise
_________________
Tecalor THZ 303 (SOL, 2006/09-2008/08), FW 2.16 | FHEM THZ module testing with FW 2.06 (INTEGRAL, 2006/12-2008/08) & FW 2.14 (SOL, 2002/10-2004/08) on Raspberry Pi 2