Y-Werte werden bei log Darstellung in Exponentialform angezeigt

Begonnen von ckmde, 05 September 2020, 23:44:09

Vorheriges Thema - Nächstes Thema

ckmde

Hallo,

ich habe jetzt nach einigem Suchen herausgefunden, dass ab Rev. 22349 der 98_SVG.pm die Werte an der Y-Achse bei einigen meiner Plots nur noch in der Form 6e+01 oder 2e+02 anstatt 60 oder 200 angezeigt werden. Diese Plots haben alle eine logarithmische Skalierung. Ich empfinde das als nur schlecht lesbar. Leider habe ich keine Option gefunden das wieder zu ändern (ausser die Rev. 22058 zu nutzen, was ich jetzt auch mache). Gibt es eine Option um das alte Verhalten wiederzubekommen oder handelt es sich womöglich um eine Bug ?

Die Plotdatei sieht so aus:

# Created by FHEM/98_SVG.pm, 2020-02-11 21:19:29
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 ytics
set y2tics
set grid ytics y2tics
set ylabel "Leistung"
set y2label "Leistung"
set yrange [20:4000]
set y2range [20:4000]
set yscale log
set y2scale log

#FileLog_E_Zaehler.Wirkleistung.L2 2:[0-9]*\.[0-9]*::

plot "<IN>" using 1:2 axes x1y2 title 'Leistung' ls l0 lw 1 with lines


Da hätte ich auch noch einen Wunsch. Man kann im Ploteditor nur Spalte 3 oder ggf. höher für die Daten auswählen. Ich habe in vielen Logfiles aber den Namen des Gerätes entfernt da sich der Name schon aus dem Dateinamen ergibt und die Dateien dadurch deutlich kleiner werden. Somit sind die Daten schon in Spalte 2 die ich nicht auswählen kann. Ich editiere die Plotdateien dann von Hand, aber das ist nicht so praktisch. Die Daten sehen z.B. so aus:
2020-09-05_20:01:15 175.000 W
2020-09-05_20:01:26 171.000 W
2020-09-05_20:01:37 174.000 W
2020-09-05_20:01:48 174.000 W
2020-09-05_20:01:58 174.000 W
2020-09-05_20:02:09 174.000 W
2020-09-05_20:02:20 173.000 W
2020-09-05_20:02:31 173.000 W
2020-09-05_20:02:42 174.000 W
2020-09-05_20:02:52 173.000 W
2020-09-05_20:03:03 173.000 W
2020-09-05_20:03:14 172.000 W


Grüße Carsten

rudolfkoenig

ZitatGibt es eine Option um das alte Verhalten wiederzubekommen...
Mir nicht bekannt.

Zitat...oder handelt es sich womöglich um eine Bug ?
Es war meine Absicht den Code so umzubauen, dass eine Darstellung mit ueberschriebenen/nicht mehr lesbaren Y-Werten vermieden wird.
Ich stufe das nicht als Bug ein.

ZitatSomit sind die Daten schon in Spalte 2 die ich nicht auswählen kann.
Ich habe in FileLog.pm die erste Spalte fuer den PlotEditor von 3 auf 2 geaendert.
Ich hoffe, dass nicht zu viele Anfaenger dadurch verwirrt werden.

ckmde

Hallo Rudolf,

Zitat von: rudolfkoenig am 06 September 2020, 11:41:07
Mir nicht bekannt.
Es war meine Absicht den Code so umzubauen, dass eine Darstellung mit ueberschriebenen/nicht mehr lesbaren Y-Werten vermieden wird.
Ich stufe das nicht als Bug ein.

Hm, also ich finde Exponentialwerte sind auch nicht wirklich lesbar in so einem Plot. Dann bleibe ich erstmal bei Rev. 22058. Muss mir nochmal Raussuchen wie ich die vorm Überschreiben beim Update schütze.

Zitat von: rudolfkoenig am 06 September 2020, 11:41:07
Ich habe in FileLog.pm die erste Spalte fuer den PlotEditor von 3 auf 2 geaendert.
Ich hoffe, dass nicht zu viele Anfaenger dadurch verwirrt werden.

Danke, dass ist wirklich gut. Habe ich eben getestet. Jetzt kann ich auch mal Änderungen direkt im Editor machen.
Neu anlegen geht nur wenn man auch die Gplotdatei anfasst. Im zweiten Input erscheinen alle möglichen Werte und eben RegExp als Wort. Wenn man dort noch einfach "nichts" auswählen könnte, wäre dass das Nonplusultra. Aber ist auch so schon gut wie schon geschrieben.

Gruß
Carsten

xenos1984

#3
Zitat von: rudolfkoenig am 06 September 2020, 11:41:07
Mir nicht bekannt.
Tut das nicht ysprintf in der .gplot-Datei?

set ysprintf %g

http://forum.fhem.de/index.php?topic=88460

rudolfkoenig

ZitatIm zweiten Input erscheinen alle möglichen Werte und eben RegExp als Wort. Wenn man dort noch einfach "nichts" auswählen könnte, wäre dass das Nonplusultra.
Nichts ist wohl nicht ohne groesseren Umbau moeglich, aber .* ist einfach: man muss es in www/gplot/template.gplot eintragen. Habs gerade auch gemacht.

ckmde

Zitat von: xenos1984 am 07 September 2020, 07:58:10
Tut das nicht ysprintf in der .gplot-Datei?

set ysprintf %g

http://forum.fhem.de/index.php?topic=88460

Das ist fast passend. %g bringt allerdings teils vier Stellen nach dem Komma. Ich habe jetzt %0.0f eingesetzt. Dann passt es wieder ganz gut. Dann sind zwar einige krumme Werte dabei z.B. 32 statt 30 aber das ist ok für mich.

Zitat von: rudolfkoenig am 07 September 2020, 09:53:02
Nichts ist wohl nicht ohne groesseren Umbau moeglich, aber .* ist einfach: man muss es in www/gplot/template.gplot eintragen. Habs gerade auch gemacht.

Da klappt gut. War mir nicht klar, dass das aus einem Template kommt.

Danke
Carsten