Saubere Darstellung der Bars im monats-Plot

Begonnen von tiwo85, 07 August 2020, 04:22:30

Vorheriges Thema - Nächstes Thema

tiwo85

Moin,
Ich versuche seid Tagen eine saubere Darstellung der Balken im Diagramm.
Erfasst wir bei mir der Stromverbrauch von einem Shelly. Verarbeitung erfolgt durch das Statistics Modul.
Im Plot ist folgendes Reading:MQTT2_myMQTT2Client_CH2:statRelay_1_energyDay
Gibt es eine Möglichkeit, den rampenhaften eines jeden Balken zu eliminieren? Desweiteren überschneiden die schleicht.

rudolfkoenig

Kannst Du bitte die Ausgabe von "Show preprocessed input" hier anhaengen, zusammen mit der .gplot Datei oder ein Screenshot des Plot-Editors.

rabehd

Ich mache sowas für die Regenmenge.
Dargestellt wird die Regenmenge des Vortages und über eine Funktion die heutige Menge. Die Funktion habe ich durch Unterstützung hier im Forum gefunden.
Der Tagesverlauf ist bei mir zusätzlich visualisiert.

sub HeuteReading2Plot($$$$)
{
  my($from,$to,$device,$reading) = @_;
  my $fromsec = SVG_time_to_sec($from);
  my $tosec   = SVG_time_to_sec($to);
  my $ret = "";
  my $rt = ReadingsTimestamp( $device, $reading, undef );
  return $ret if( !$rt );
  my $sec = time_str2num($rt);
  return $ret if ( $sec < $fromsec || $sec > $tosec );
  my $val = ReadingsVal( $device, $reading, undef );
  my @t = localtime($sec);
  my $timestamp = sprintf("%04d-%02d-%02d_%02d:%02d:%02d", $t[5]+1900, $t[4]+1, $t[3], $t[2], $t[1], $t[0]);
  $ret .= sprintf("%04d-%02d-%02d", $t[5]+1900, $t[4]+1, $t[3], $t[2], $t[1], $t[0]) . "_23:55:59 $val\n";
  $ret .= "#plotCurrent: $device:$reading\n";
  return $ret;
}

Auch funktionierende Lösungen kann man hinterfragen.

tiwo85

Hier ist erstmal die gplot-Datei:
# Created by FHEM/98_SVG.pm, 2020-08-06 15:03:47
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 '<L1>'
set ytics
set y2tics
set grid
set ylabel ""
set y2label "pro Tag"

#DbLogMySQL MQTT2_myMQTT2Client_CH2:statRelay_1_energyDay::

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l1fill lw 1 with bars