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
- die automatische Skalierung lässt u.U. keinen "Rand" oben oder unten
- ich kann die Achsaufteilung nicht dynamisch vorgeben / ein gemeinsames Grid erzwingen
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.