Achsenbeschriftung links/rechts bei SVG

Begonnen von Dr. Boris Neubert, 04 April 2017, 18:01:46

Vorheriges Thema - Nächstes Thema

Mr. Flash

Hallo,

ähnlich wie bei Omega rutscht bei mir die Ausgabe der Legende teilweise etwas nach unten.
In einigen Fällen (a) ca. eine halbe Zeile nach unten, in anderen (b) beginnt die Ausgabe unterhalb des Graphikbereichs, allerdings erscheint dann nur eine Zeile, der Rest wird abgeschnitten.

Bei (a) ist manchmal ein nach oben offener Wertebereich, z.B. "set y3range [0:]", die Ursache (siehe "Speedtest_auto_offen.jpg" und "Speedtest_auto_geschlossen.jpg").
Bei (b) sind manchmal mehr als drei gleichzeitig geplottete Kurven die Ursache. Das tritt aber auch schon bei Graphen mit nur einer geplotteten Kurve auf (siehe "Wassermelder_1_Plot.jpg" und "SUSV_5_Plots.jpg").
Eine Regelmäßigkeit konnte ich aber noch nicht erkennen.

Bei Nutzung des Attributes "captionPos auto" klappt die Zuordnung rechts/links auch nicht korrekt (siehe "Speedtest_auto_offen.jpg" und "Speedtest_auto_geschlossen.jpg").
Bei "left" und "right" stehen die Texte korrekt auf der linken bzw. rechten Seite, die Höhe bleibt aber unverändert.

Bei allen Graphen habe ich als Attribut "nrAxis 2,2,1,2" gesetzt.

Grüße,
Nik
RPi 3B+; Buster; FHEM 5.9; S.USV basic; BME280; TSL25911.
HM: CFG-LAN (0.965),CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM

justme1968

ich konnte das problem bisher nicht reproduzieren.

kannst du mal bitte die definition, das plotfile und ein logfile vom wassermelder fall hier anhängen? oder auch jeden anderen fall bei dem das für dich reproduzierbar ist.

danke
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Omega

Ich vermute mal, deine Frage an mich hat sich mit meiner vorhergehenden Antwort überschnitten...

Ich habe jetzt mal alles zusammengestellt.
Am Besten kann man das testen, wenn man die Funktion ,,Tics as" auf der rechten Seite verwendet (s.a. HC). Die Legende (egal ob auto, rechts oder links) ist immer eine Zeile unterhalb des höchsten rechten Y-Achsen Wertes.

LG
Holger

list SVG_FileLog_KG.Hobby.Thermostat_1

Internals:
   DEF        FileLog_KG.Hobby.Thermostat:SVG_FileLog_KG.Hobby.Thermostat_1:CURRENT
   GPLOTFILE  SVG_FileLog_KG.Hobby.Thermostat_1
   LOGDEVICE  FileLog_KG.Hobby.Thermostat
   LOGFILE    CURRENT
   NAME       SVG_FileLog_KG.Hobby.Thermostat_1
   NOTIFYDEV  global
   NR         622
   STATE      initialized
   TYPE       SVG
Attributes:
   captionPos left
   label      sprintf( "[%d:%.1f]",int(minNum($data{min1},$data{min2})-0.3),maxNum($data{max1},$data{max2})+0.5)
   plotsize   1024,160
   room       Keller
   title      "KG.Hobby.Thermostat Min $data{min1}, Max $data{max1}, Zuletzt $data{currval1} °C um $data{currdate1}"


SVG_FileLog_KG.Hobby.Thermostat_1.gplot

Internals:
   DEF        FileLog_KG.Hobby.Thermostat:SVG_FileLog_KG.Hobby.Thermostat_1:CURRENT
   GPLOTFILE  SVG_FileLog_KG.Hobby.Thermostat_1
   LOGDEVICE  FileLog_KG.Hobby.Thermostat
   LOGFILE    CURRENT
   NAME       SVG_FileLog_KG.Hobby.Thermostat_1
   NOTIFYDEV  global
   NR         622
   STATE      initialized
   TYPE       SVG
Attributes:
   captionPos left
   label      sprintf( "[%d:%.1f]",int(minNum($data{min1},$data{min2})-0.3),maxNum($data{max1},$data{max2})+0.5)
   plotsize   1024,160
   room       Keller
   title      "KG.Hobby.Thermostat Min $data{min1}, Max $data{max1}, Zuletzt $data{currval1} °C um $data{currdate1}"



NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

justme1968

#33
ich glaube ich habe das problem gefunden. schau mal ob der angehängte patch hilft.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Omega

Kannst du mir bitte die komplette 98_SVG.pm anhängen. Mit einem Patch habe ich noch nicht gearbeitet und möchte daher gerne eine weitere Fehlerquelle vermeiden.
LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Omega

Sieht super aus  :) :).
Ganz großes Dankeschön!

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

rudolfkoenig

ZitatSieht super aus.
Ich gehe davon aus, dass das eine Freigabe war. Habs deswegen eingecheckt.

Mr. Flash

#38
Hallo Andre,

super, jetzt sind alle Legendentexte wieder da, wo sie hingehören. Vielen Dank.

Nur eins ist mir noch aufgefallen: bei "captionPos auto" passt die Zuordnung der Legendentexte zur linken bzw. rechten Seite noch nicht ganz. Sie dazu mein Bild "Speedtest_auto_geschlossen.jpg" weiter oben.
Die Downloadachse ist links, die Upload- und Ping-Achse rechts, bei den Legendentexten steht Download und Upload links und nur Ping rechts.

Die GPLOT-Datei sieht wie folgt 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 title '<TL>'
set grid y2tics
set yrange [0:120]
set y2range [0:6]
set y3range [0:]
set ylabel <L1>
set y2label <L2>
set y3label <L3>

#logProxy FileLog:FileLog_Speedtest,predict:4:download\x3a::
#logProxy FileLog:FileLog_Speedtest,predict:4:upload\x3a::
#logProxy FileLog:FileLog_Speedtest,predict:4:ping\x3a::

plot "<IN>" using 1:4 axes x1y1 title '<L1>' ls l0 with lines,\
     "<IN>" using 1:4 axes x1y2 title '<L2>' ls l1 with lines,\
     "<IN>" using 1:4 axes x1y3 title '<L3>' ls l2 with lines


Die Config dazu so:

define mySpeedtest Speedtest 1800
attr mySpeedtest path /usr/local/bin

define FileLog_Speedtest FileLog %L/speedtest-%Y-%m.log mySpeedtest:.*
attr FileLog_Speedtest logtype text

define SVG_FileLog_Speedtest SVG myLogProxy:SVG_FileLog_Speedtest:CURRENT
attr SVG_FileLog_Speedtest label "download [Mbit/s]"::"upload [Mbit/s]"::"ping [ms]"
attr SVG_FileLog_Speedtest captionPos auto
attr SVG_FileLog_Speedtest title "Down: $data{currval1} [Mbit/s] / Up: $data{currval2} [Mbit/s] / Ping: $data{currval3} [ms]"
attr SVG_FileLog_Speedtest nrAxis 2,2,1,2
attr SVG_FileLog_Speedtest alias Speedtest
attr SVG_FileLog_Speedtest plotfunction FileLog_Speedtest


Brauchst Du sonst noch Infos dazu?

Viele Grüße,
Nik

Update: aktueles Bild (Speedtest_auto.jpg) hinzugefügt.
RPi 3B+; Buster; FHEM 5.9; S.USV basic; BME280; TSL25911.
HM: CFG-LAN (0.965),CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM

justme1968

mit der folgenden änderung sollte auch das behoben sein:Index: 98_SVG.pm
===================================================================
--- 98_SVG.pm (revision 14135)
+++ 98_SVG.pm (working copy)
@@ -2130,7 +2130,7 @@
     if( $caption_pos eq 'auto' ) {
       my $a = $conf{lAxis}[$i];
       my $axis = 1; $axis = $1 if( $a && $a =~ m/x\d+y(\d+)/ );
-      if( $axis <= $nr_left_axis ) {
+      if( $axis <= $use_left_axis ) {
         $caption_anchor = "beginning";
       } else {
         $caption_anchor = "end";


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mr. Flash

Hallo Andre,

ja, das war's. Jetzt klappt's perfekt.  :)

@Rudi: könnets Du die Änderung bitte einchecken? Danke.

Viele Grüße,
Nik
RPi 3B+; Buster; FHEM 5.9; S.USV basic; BME280; TSL25911.
HM: CFG-LAN (0.965),CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM

rudolfkoenig

Zitat@Rudi: könnets Du die Änderung bitte einchecken? Danke.
Erledigt.