Plot mit 2. Y-Achse rechts

Begonnen von ingo46, 02 November 2022, 15:33:13

Vorheriges Thema - Nächstes Thema

ingo46

Ich möchte in einem Plot 3 Werte darstellen ( 0 - 3 / 500 - 2000 / 30 - 80).  Dazu gibt es das Attribut  "nrAxis". Default 1,1 habe ich auf 1,2 gestellt. Im SVG-Editor kann ich keine Eingaben 2. y-Achse machen.

Mit Edit Files habe ich dann den Eintrag direkt vorgenommen: y3lable erscheint - y3range erscheint nicht.

Gefunden zu diesem Thema habe https://forum.fhem.de/index.php?topic=13617.new;topicseen#newView
ist aus dem Jahr 2013 und wahrscheinlich nicht mehr aktuell.

Gibt es eine neuere Lösung?

Ingo

betateilchen

Im SVG plotEditor kannst Du nur die beiden ersten y-Achsen (y1 und y2) direkt bearbeiten.
Alle weiteren Achsen musst Du direkt im gplot file definieren, dort kannst Du auch ein y3range angeben.

Beispiel:


set ytics
set y2tics
set grid ytics
set ylabel "Au"
set y2label "Pt"
set y3label "Ag"
set yrange  {"[".round($data{min1}-10,0).":".round($data{max1}+10,0)."]"}
set y2range {"[".round($data{min2}-10,0).":".round($data{max2}+10,0)."]"}
set y4range {"[".round($data{min4}-50,0).":".round($data{max4}+50,0)."]"}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ingo46

Hallo,
danke für die Rückmeldung.

Mein Plot-File sieht so aus:


# Created by FHEM/98_SVG.pm, 2022-11-02 14:49:13
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 y2tics
set ylabel "CPU Clock"
set y2label "CPU Temperatur"
set y3label "CPU Load"
set yrange [500:2000]
set y2range [40:70]
set y3range [0:3]

#FileLog_PI_TEMP 3:PI-TEMP.*::
#FileLog_PI_TEMP 5:PI-TEMP.*::
#FileLog_PI_TEMP 8:PI-TEMP.*::

plot "<IN>" using 1:2 axes x1y2 title 'Pi-Temperatur °C' ls l0 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Pi-Clock MHz' ls l1 lw 2 with points,\
     "<IN>" using 1:2 axes x1y2 title 'CPU LOAD' ls l4 lw 1 with lines


Bei folgenden gesetzten Attributen ist das Ergebnis noch nicht so, wie es sein soll:

Ingo

betateilchen

#3
Naja, wenn Du die CPU Load auf der dritten y-Achse haben willst, musst Du das halt auch so angeben.

Aktuell steht in Deinem gplot

<IN>" using 1:2 axes x1y2 title 'CPU LOAD' ls l4 lw 1 with lines

Richtig wäre vermutlich

<IN>" using 1:2 axes x1y3 title 'CPU LOAD' ls l4 lw 1 with lines

Außerdem frage ich mich, ob das wirklich richtig ist:
(Frage beantwortet)


---

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ingo46

Herzlichen Dank - ich hatte alles mehrfach gelesen - aber nicht gesehen!!!