FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: quartz am 10 August 2026, 21:13:26

Titel: 98_SVG - mehrere Diagramme in einem Plot mit gleicher Achsenteilung
Beitrag von: quartz am 10 August 2026, 21:13:26
Verschiedene Foren-Einträge - z.B. https://forum.fhem.de/index.php?topic=131334.0, https://forum.fhem.de/index.php?topic=94971.0 - befassen sich damit, mehrere Kurven in einem Plot unterzubringen.

Schon die Möglichkeiten des Plot-Editors erlauben grundsätzlich mehrere Kurven, zumindest wenn die Achsen "passend" sind.

Zwei Punkte haben mich aber etwas gestört

Der erste Punkt ist "easy": Man kann perl Code nutzen, um - in Verbindung mit max/min der Werte - den Range "passend" vorzugeben / zu erzwingen.

Das hilft auch beim zweiten Punkt: Man kann z.B. dafür sorgen, dass der Range für alle Kurven "durch x" teilbar ist.

Nicht immer folgte die Plot-Engine aber meiner Andeutung, manchmal wählte sie andere Teilungen.

Mit dem folgenden kurzen Code-Block in 98_SVG lässt sich das beheben, indem nun auch "Tics" Perl Code unterstützen:
#-- tics handling
my $yt="y".($idx+1)."tics";
$yt="ytics" if ($yt eq"y1tics");
#Ergänzung
if(defined($conf{$yt})) {
  $conf{$yt} = AnalyzeCommand(undef, $1) if($conf{$yt} =~ /^(\{.*\})$/);
}

Und schon können die Tics per Perl Code exakt festgelegt werden, so dass ein Grid für mehrere Achsteilungen passt.