Hallo zusammen,
ist es möglich im Titel eines SVG Plots einen Wert berechnen zu lassen?
Aktuell habe ich:
"Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, Verbr. $data{max4} ($data{min4}) kW"
für den Titel angegeben.
Kann ich darin die Diff. von
"Verbr. $data{max4} ($data{min4}) kW"
direkt berechnen, so dass ich nur den Tagesverbrauch angezeigt bekomme?
Gruß und Danke Bernd
Klar, title wird ja evaluiert:sprintf("Verbr. %d kW", $data{max4}-$data{min4})
Danke Rudi,
war mir nicht klar, dass ich hier auch einfach mittels Perl agieren kann.
Gruß Bernd
Leider bekomme ich einen Syntax Error und finde den Fehler nicht :(
"Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr. %d kW", $data{max4}-$data{min4})"
2019.10.11 20:12:50 1: PERL WARNING: Bareword found where operator expected at (eval 23850) line 1, near ""Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr"
2019.10.11 20:12:50 3: eval: { "Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr. %d kW", $data{max4}-$data{min4})" }
2019.10.11 20:12:50 1: PERL WARNING: Bareword found where operator expected at (eval 23850) line 1, near "%d kW"
2019.10.11 20:12:50 3: eval: { "Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr. %d kW", $data{max4}-$data{min4})" }
2019.10.11 20:12:50 1: PERL WARNING: String found where operator expected at (eval 23850) line 1, near "kW", $data{max4}-$data{min4})""
2019.10.11 20:12:50 3: eval: { "Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr. %d kW", $data{max4}-$data{min4})" }
2019.10.11 20:12:50 1: ERROR evaluating { "Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr. %d kW", $data{max4}-$data{min4})" }: syntax error at (eval 23850) line 1, near ""Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, sprintf("Verbr"
Global symbol "%d" requires explicit package name at (eval 23850) line 1.
Ich habe es auch u.a. so probiert, dann fehlt angeblich rechts eine Klammer :o
"Temp. Min $data{min2}, Max $data{max2}, Last $data{currval2}, $data{sprintf("Verbr. %d kW", $data{max4}-$data{min4})}"
Mit meinen bescheidenen Perlkenntnissen stehe ich auf dem Schlauch :(
Ich empfehle statt Improvisation die ersten 3 Kapitel eines Perl-Buches durchzulesen.sprintf("Temp. Min %d, Max %d, Last %d, Verbr. %d kW", $data{min2}, $data{max2}, $data{currval2}, $data{max4}-$data{min4})
Naja, ich habe mal, 2-3Jahre her, das ganze Buch gelesen. Wenn ich es nicht regelmäßig anwende, geht vieles leider wieder verloren.
Ich habe aber gegoogelt und auch meine sonstige sprintf, mit denen ich STATE manipuliere verglichen. Dadurch habe ich probiert, bin aber nicht auf die Idee gekommen, alles in sprintf zu packen.
Jeden falls danke für deine Hilfe.
P.S. Das Buch sollte ich wirklich wieder aus dem Schrank holen ;-)
So, habe es noch etwas verfeinert ;)
sprintf("Temp. Min %s, Max %s, Last %s, Verbr. %0.4s kW", $data{min2}, $data{max2}, $data{currval2}, $data{max4}-$data{min4})
Ergebnis:
ZitatTemp. Min 18.9, Max 20.6, Last 19.2, Verbr. 0.82 kW
Und gelöst :)