Merkwürdiges Verhalten bei Plotmode 'steps'

Begonnen von alkazaa, 17 Januar 2026, 14:01:20

Vorheriges Thema - Nächstes Thema

alkazaa

Ich habe ein mir unverständliches Verhalten bei Verwendung von 'steps' im SVG-Plot bemerkt. Mit Daten einer Datei 'dummy_data.log':
2026-01-17_00:00:00 AA BB 1
2026-01-17_08:00:00 AA BB 2.5
2026-01-17_16:00:00 AA BB 3
2026-01-17_23:59:59 AA BB 0.5
und einer SVG-Definition
defmod SVG_dummy_FileLog_1 SVG dummy_FileLog:SVG_dummy_FileLog_1:CURRENTund dieser automatisch (bis auf die y-Grenzen) erzeugten gplot Datei:
# Created by FHEM/98_SVG.pm, 2026-01-17 13:36:49
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
set ylabel "Humidity"
set y2label "Temperature"
set y2range [0:4]

#dummy_FileLog 4:.*::

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 3 with points
bekomme ich für die Modi 'points', 'lines' und 'steps' diese Plots:

Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.

Den letzten  Plot versteh ich nicht.
Ich habe hier im Forum keinen Hinweis dazu gefunden.
EDIT:
Außer natürlich dem letzten Beitrag ,,Plot mit ,steps' sollte jetzt enden". Aber das will man ja gerade nicht, wenn in der Zukunft liegende Daten geplottet werden. Und um die ging es mir mit meinen realen Daten: ich wollte die heutigen (und morgigen) EPEX Strombörsenpreise darstellen.
EDIT2:
Offensichtlich hat mich hier die kürzliche Änderung von @rudolfkoenig erwischt. Erklärt auch, warum es mir jetzt erst auffiel.
Wenn möglich, sollte die letzte waagerechte Linie nur gezeichnet werden, wenn der Datenpunkt nicht in der Zukunft liegt.

EDIT3:

Ich habe in 98_SVG.pm die Zeile 2025
$ret .= sprintf(" %d,%d %d,%d", $lx,$ly, $x+$nx,$ly);geändert zu
$ret .= sprintf(" %d,%d %d,%d", $lx,$ly, $x+$nx,$ly) if ($lx < $x+$nx);weiß aber nicht, ob das hinreichend nebenwirkungsfrei ist. Jedenfalls wird dann keine letzte waagerechte Linie nach links gezogen.

rudolfkoenig

Das Verhalten von steps habe ich geaendert, siehe https://forum.fhem.de/index.php?topic=143203, insb. der Beitrag von xenos1984

noansi

Hallo Rudolf,

das betrifft auch meine erste Anmerkung in https://forum.fhem.de/index.php?msg=1355477 bezüglich Nebenwirkungen auf Sonderfälle.

Ich hatte mir für meine bei 0 startende Datengrundlage dadurch behelfen können, von steps auf lines umzustellen (was eine Erweiterung der Daten auf Stufenlinien erforderlich machte), um die Störlinie, die eigentlich ewig in der Daten-"Zukunft" hätte enden sollen, los zu werden.

Es gibt also bezüglich der Daten nicht nur die Zukunft, bei denen die steps Endung auf jetzt störend auffallen kann, falls Du dazu mal Anpassungen vornehmen solltest.

Gruß, Ansgar.