Finde hierzu leider keine Beispiele oder Erklärungen.
Würde als Vergleich gerne Zahlen im Plot für mehrere Jahre als Vergleich darstellen.
Sichtbar die Tage von z.b. 2 Monaten und je Tag 3 Werte als Blaken nebeneinander !
Bisher sind alle Versuche fehlgeschlagen. Im SVG code sehe ich dass es die Types "bares" und
"ibars" gibt. Leider habe ich keine Beschreibung gefunden außer dass bars wohl dem gnuplot "boxes"
entspricht.
Also im .gplot geht kein "boses" dafür aber "bars". Keine Ahnung was mit "set style data ..." akzeptiert wird ? Wohl eher nichts. Und was ibars sind ist mir auch nicht klar.
Die Bars werden wohl übereinander gelegt. Vermute nebeneinander geht gar nicht -- obwohl CHATGPT
Lösungen aufzeigt, die aber bei mir nicht funktionieren.
Ich denke auch Dinge wie
set style fill solid 0.8
haben keine Auswirkung.
Hat also jemand eine Lösung ? Oder geht das ganz einfach nicht.
Auf welche "gnuplot" Version/Beschreibung kann man hier eigentlich zurückgreifen?
Hallo Roli,
ich verstehe dein Anliegen nicht zu 100%. Wenn ich das richtig interpretiere, so möchtest du Balken die sich überlagern (=Messwerte am gleichen Tag/zur gleichen Zeit) nebeneinander darstellen, also quasi so:
Screenshot 2025-12-23 091850.png
Falls ja: das geht mit LogProxy und offset, hier mein gplot Datei:
# Created by FHEM/98_SVG.pm, 2024-03-11 20:48:54
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 'Stromverbrauch total pro Tag'
set ytics
set y2tics
set grid
set ylabel "kWh"
set y2label ""
#logProxy DbLog:dblog,offset=-3600*8:Stromzaehler_EG:Bezug_heute_kwh_Total::
#logProxy DbLog:dblog,offset=-3600*4:Stromzaehler_1Stock:Bezug_heute_kwh_Total::
#logProxy DbLog:dblog:Stromzaehler_2Stock:Bezug_heute_kwh_Total::
plot "<IN>" using 1:2 axes x1y1 title 'EG' ls l0 lw 1 with needles,\
"<IN>" using 1:2 axes x1y1 title '1Stock' ls l1 lw 1 with needles,\
"<IN>" using 1:2 axes x1y1 title '2Stock' ls l2 lw 1 with needles
Hallo,
danke für die Antwort. Ich habe jetzt noch ein paar Stunden investiert und forum, wiki usw gelesen.
Ich denke so langsam habe ich die ganze Sache besser verstanden und schaffe eventuell eine Lösung.
Ich hatte bisher noch nie geschaut, welche Daten er für die Plots selektiert-filtert - dann wäre
auch eventuell klar gewesen, dass diese als Art stacked angezeigt werden. Egal ob needles oder bars.
Ich möchte eigentlich meine FileLog Werte Monatlich anzeigen und die verschiedenen Jahre nebeneinander.
Ich kann zwar in der PlotDatei mehrere Filelogs angeben, aber das bringt nichts. Ich muss ja den
Wert von vor 1 Jahr, mit dem fast gleichen Zeitstempel verpassen, damit er mit dem Aktuellen angezeigt wird. Dies geht wohl nur mit Offset. Und das Wiederum geht nur mit LogProxy
Meine FileLog sieht wie folgt aus :
2025-12-22_23:59:00 Strom_Line 1 27 0 5148 54434 43036
2025-12-23_23:59:00 Strom_Line 4 31 0 5152 54465 43036
Also am Ende des Tages speichere ich die Werte meines StromZählers ( NT HT Einspeisung Summe der 3 )
D.h. wenn ich nebeneinander die Werte haben will, so dürfen die Zeitstempel nicht exakt die gleichen sein - Sonst stacked.
Also für einen Monatsüberblick habe ich folgendes :
Folgende Code:
# alternativ mit LogProxy
define Diag_Strom_sum2 SVG myProxy:rw_power_LP:CURRENT
attr Diag_Strom_sum2 label "Stromverbrauch Montatsview LP"
attr Diag_Strom_sum2 fixedrange month
Plot Datei rw_power_LP.gplot
############################
# Display the power reported by the Stromzähler -- Monatsplot
# FileLog Inhalt :
# define FileLog_Strom FileLog /var/log/fhem/Strom/Stromz_sum-%Y_%m.log HT-Verbrauch NT-Verbrauch Einspeisung ..Zählerst..
#
# 2025-12-22_23:59:00 Strom_Line 1 27 0 5148 54434 43036
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set title '<L1>'
set timefmt "%Y-%m-%d_%H:%M:%S"
set xdata time
set ylabel "kWh"
set grid ytics
#logProxy FileLog:FileLog_Strom,offset=-3600*8:3:::
#logProxy FileLog:FileLog_Strom,offset=-3600*4:4:::
#logProxy FileLog:FileLog_Strom:5:::
plot "<IN>" using 1:2 axes x1y1 title 'NT' ls l0 lw 1 with needles,\
"<IN>" using 1:2 axes x1y1 title 'HT' ls l1 lw 1 with needles,\
"<IN>" using 1:2 axes x1y1 title 'Einsp' ls l2 lw 1 with needles
Screenshot 2025-12-24 145305.jpg