NEWS
FLOT - Skalierung Y-Achse
-
Hallo,
zunächst einmal: Flot ist in puncto Diagramm das genialste Teil, dass ich je gesehen habe! Echt klasse! Ich habe mir ein Diagramm über:
a) gemessene Aussentemperatur
b) internet-Aussentemperatur für unseren Ort
c) Luftfeuchte
gebastelt. Alleine in einem Browserfenster ist das wirklich geil…
So nun zum Problem:
Y-Achse:
Ich habe 3 Schaubilder auf einem View, entsprechend sind sie verkleinert.
Die Abstände bzw. Skalierungen habe ich "oben" und "unten" ordentlich optimiert....
Dennoch ist bei den Temperaturen ein 20er-Schritt zu groß, rein räumlich ginge zumindest ein 10er-Schritt und noch ein 5er-Balken. Das kann ich aber nirgendwo bestimmen...
Thema X-Achse: ja, vermutlich ginge da auch mehr. Zumindeset, wenn die Beschriftung im 45°-Winkel like Excel ginge...
~~http://www.joe-lion.de/old/Flot-Temp+Hygro.jpg" />
Bei der Legende wäre eventuell auch "Links-Mitte" nicht schlecht, oder?~~
-
Ich habe flot auf git noch einbisschen erweitert:
Und es geht jetzt so was:
-
einfach nur g…!
Bluefox, bist echt der Hammer!
-
Hallo Bluefox,
ich habe heute mal Deine Features mit dem Skalieren bei meinen Charts eingebaut.
Bei fast allen hat es wunschgemäß funktioniert.
Ein Problem habe ich noch:
Mein Benzinpreis ist skaliert von 0-1,40€. Ich kann anscheinend die Steps bei der Y-Achse nur in vollen Zahlen machen. Dh. beim Benzinpreis-Chart kann ich nicht wirklich etwas bestimmen. Gebe ich die Zahl mit Punkt als Trennzeichen ein, bleibt sie zwar stehen, das Schaubild ändert sich aber nicht. Zahlen mit Komma als Trennzeichen bleiben erst gar nicht gespeichert.
-
Hallo zusammen,
gibt es eine Möglichkeit die Skalierung der Y-Achse automatisch vornehmen zu lassen, so dass man immer den besten Bereich hat und die Anzeige dann dynamisch verlauft?
Mfg
-
Hallo Bluefox,
ich habe heute mal Deine Features mit dem Skalieren bei meinen Charts eingebaut.
Bei fast allen hat es wunschgemäß funktioniert.
Ein Problem habe ich noch:
Mein Benzinpreis ist skaliert von 0-1,40€. Ich kann anscheinend die Steps bei der Y-Achse nur in vollen Zahlen machen. Dh. beim Benzinpreis-Chart kann ich nicht wirklich etwas bestimmen. Gebe ich die Zahl mit Punkt als Trennzeichen ein, bleibt sie zwar stehen, das Schaubild ändert sich aber nicht. Zahlen mit Komma als Trennzeichen bleiben erst gar nicht gespeichert. `
Bei mir funktioniert Punkt als Trennzeichen, flot 1.5.6:
1146_diesel.jpg -
Hallo zusammen,
gibt es eine Möglichkeit die Skalierung der Y-Achse automatisch vornehmen zu lassen, so dass man immer den besten Bereich hat und die Anzeige dann dynamisch verlauft?
Mfg `
Wenn man nichts vorgibt, passiert das doch automatsich. -
ja stimmt schon, aber der Bereich ist mir zu groß.
Wenn ich zB. eine Temperatur im Chart habe, wird skaliert von -5 bis 25 Grad und die Temperatur liegt bei 22 Grad.
Ich hätte aber gerne einen Bereich von 20 bis 25 Grad bei aktuellen 22 Grad.
-
Wenn ich zB. eine Temperatur im Chart habe, wird skaliert von -5 bis 25 Grad und die Temperatur liegt bei 22 Grad. `
Wo kommt die Temperatur her?ist sonst noch etwas in dem Chart?
Bitte screenshot von dem Chart
So sieht es bei mir aus:
Gruß
Rainer
-
Hallo Rainer,
so sieht es bei mir aus wenn ich keine min/max Werte eingetragen habe:
der Link dazu sieht so aus:
http://192.168.0.66:8092/flot/index.html?l%5B0%5D%5Bid%5D=hm-rpc.0.LEQ0995350.2.ACTUAL_TEMPERATURE&l%5B0%5D%5Binstance%5D=history.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23F8AE2D&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bname%5D=Temperatur&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5BafterComma%5D=1&l%5B0%5D%5BchartType%5D=line&timeType=relative&relativeEnd=now&range=1m&live=60&aggregateType=count&aggregateSpan=300&noBorder=noborder&window_bg=rgb(55%2C+55%2C+55)&bg=rgb(55%2C+55%2C+55)&x_labels_color=rgb(255%2C+255%2C+255)&y_labels_color=rgb(255%2C+255%2C+255)&border_color=rgb(255%2C+255%2C+255)&grid_color=rgba(255%2C+255%2C+255%2C+0.19)&legend=nw&legBg=rgb(255%2C+255%2C+255)&hoverDetail=true&useComma=false&zoom=true&noedit=false&animation=0&_vis_refts%5B%5D=1478206330894&_vis_refts%5B%5D=1479822985662&_vis_refts%5B%5D=1479827251416&titlePos=top%3A35%3Bleft%3A50&titleColor=rgb(255%2C+255%2C+255)&titleSize=small
Mfg
-
Ist doch klar:
Solange du noch Werte mit 0 im Chart hast, zeigt die y-Achse auch die 0 an
Wenn du jetzt die X-Achse auf die rechte Hälfte zoomst, wird alles so sein, wie du willst.
Gruß
Rainer
-
Verwende mehrere Flot -Seiten mit 10 Linien.
@Semenchkare du solltest verschiedene y-Achsen für Tempoeratur und Luftfeuchte verwenden, die eine z.B. eine links und die andere rechts.
Die zwei temperaturen sollen die gleiche Achse verwenden.
Ich habe z.b. auch unterschiedliche Achsen für innen- und Außentemperaturen da die unterschiedliche Spannweite haben.
Damit kann die Autoskalierung auf den benutzen Wertebereich verwendet werden und die Anzeige bei Innentemperatur ist z.B. feiner gegliedert als für die Aussentemperatur.
Graphen die andere Achsen mitbenutzen sollten in der Y-Axe und X-Axe nichts eingetragen haben und bei der gemeinsamen Y-Achse die von der anderen Temperatur.
Das funktioniert ganz gut, ich habe aber nur ein Problem dass ich nur 5 Achsennummern verwenden kann (normalerweise brauch ich auch nicht mehr) aber es ist nicht leicht zu erkennen welche Achsennummer eine Achse hat! Man muss manuell 'nachzählen' da sie nicht mit der nummer der Instanz/Linie übereinstimmt.
Es wäre vielleicht besser nicht die Y-Achsennummer einzugeben sonderen die selbe Achse wie die Liniennummer x verwendet.
Das Beispiel unten verwendet 3 verschiedene Temperaturachsen, eine % und eine ° (Winkel, nicht Temperatur) -Achse.
Bin grad draufgekommen, könnte die Kommastellen bei den % und ° weglassen, damit schrumpft sie und der Platz für die Daten wird größer.
-
Ist doch klar:
Solange du noch Werte mit 0 im Chart hast, zeigt die y-Achse auch die 0 an
Wenn du jetzt die X-Achse auf die rechte Hälfte zoomst, wird alles so sein, wie du willst.
Gruß
Rainer `
ohje…. war doch ziemlich einfach :oops:
Danke, jetzt klappt es auch mit der Anzeige
-
Hallo,
irgendwie komme ich gerade nicht weiter mit einem Diagramm.
Ich möchte gerne zwei Werte darstellen. Wie bekomme ich beide auf eine Y Achse und das ich 2 Wertebalken angezeigt bekomme?
Hab es schon mit dem Punkt "gemeinsame Y-Achse" versucht aber igendwie passt es nicht so recht?
Was bedeuten die Zahlen in der Auswahl bei gemeinsamer Y-Achse? Steht die 1 für den Wert in der ersten Spalte?
gruß
-
irgendwie komme ich gerade nicht weiter mit einem Diagramm. `
Wo ist es denn?Wie bekomme ich beide auf eine Y Achse …
Hab es schon mit dem Punkt "gemeinsame Y-Achse" versucht aber igendwie passt es nicht so recht?
Was bedeuten die Zahlen in der Auswahl bei gemeinsamer Y-Achse? Steht die 1 für den Wert in der ersten Spalte? `
Korrekt!In der zweiten Zeile die gemeinsame y-achse suf 1 setzen.
das ich 2 Wertebalken angezeigt bekomme? `
Linien?Gruß
Rainer
-
So mit ein bischen rumspielen, klappt es es nun mit der zweiten Y-Achse und den genannten Einstellungen.
Problem bei meinem Chart war ein Rundungsfehler durch falsche Einstellung mit der Nachkommastelle.
Wert 1 (benutzt) hat 2 Nachkommastellen und Wert 2 stand noch auf 0 Nachkommastellen und hat daher nicht ganz mit der Y-Achse von Wert 1 gepasst.
Der eigentliche Wert ist 2,7 TB wurde aber auf 3 gerundet, siehe Anhang.
gruß
-
Ist doch klar:
Solange du noch Werte mit 0 im Chart hast, zeigt die y-Achse auch die 0 an
Wenn du jetzt die X-Achse auf die rechte Hälfte zoomst, wird alles so sein, wie du willst.
Gruß
Rainer `
Habe das gleiche Problem und bei mir funktioniert das nicht so eindeutig. Ich hab je nach Datenquelle ein unterschiedliches Verhalten. Betroffen sind Temperatur- und Feuchtesensoren. Diese senden ja nur ca. alle 3 min einen Wert. Wenn ich mir den Graphen jetzt, sagen wir der letzten 24 h, anzeige, fehlen ihm ja für "jetzt" die Werte, da der letzte Wert bis zu 3 min alt sein kann.Hier mal in Bildern:
-
Temperatur + RH vom Außensensor HM-WDS10-TH-O. Skalierung der Temperaturkurve (rot) passt soweit, Feuchtekurve (blau) könnte enger skaliert sein.
-
Eine Stufe reingezoomt und zentriert, die neuesten Datenpunkte fehlen also. So passen die Zoom-Level. So würd ich es für 1) erwarten.
-
Stärker reingezoomt und ganz nach rechts geschoben, damit die aktuelle Zeit mit drauf ist. Hier sieht man, was ich oben meine: Die Linien gehen nicht bis zur Grenze, da für die aktuelle Zeit keine Datenpunkte vorliegen. Die Temp-Kurve wird trotzdem einigermaßen in Ordnung skaliert, die Feuchtekurve dagegen gar nicht.
Code dazu:
Und nun das ganze für nen Wandthermostat innen HM-TC-IT-WM-W-EU. Hier ist das Fehlverhalten für alle gleich.
-
Standardansicht. Skalierung für beide Kurven "falsch".
-
Einmal gezoomt und zentriert. So passt es.
-
Stärker gezoomt und ganz nach rechts. Man sieht wieder schön, dass für die aktuelle Zeit keine Werte vorhanden sind und "falsch" gezoomt wird.
Code:
Fragen:
-
Warum verhält sich die Temperaturkurve des Außensensors augenscheinlich anders als alle der Innensensoren, obwohl für beide Datensätze keine Werte für die aktuelle Zeit verfügbar sind.
-
Ich bin mir sicher, dass der Fehler bei mir liegt. Was kann ich tun, damit die Kurven vernünftig skaliert werden?
Danke
-
-
Erst einmal: ich weiß esnicht und muss raten!
Erklärungsversuch:
Bei Graph 4 und 6 stimme ich dir erst einmal zu, ich müsste mal deinen flot genau analysieren.
Bei allen anderen nehme ich an, dass keine getrennte automatische Skalierung zweier Y-Achsen von flot unterstützt wird, sondern der jeweils höchste und niedrigste Wert aller Y-Achsen zusammen betrachtet wird.
Bei 6. könnte es noch daran liegen, dass direkt an der Achse kein Wert (=0) vorliegt und deswegen auf 0 (zzgl. Offset) skaliert wird.
Wie gesagt, ist alles Kaffeesatz und ich müsste mir die Konfiguration am PC genau ansehen .
Vielleicht weiß @Bluefox dazu etwas auswendig.
Gruß
Rainer
-
Bei allen anderen nehme ich an, dass keine getrennte automatische Skalierung zweier Y-Achsen von flot unterstützt wird, sondern der jeweils höchste und niedrigste Wert aller Y-Achsen zusammen betrachtet wird. `
Danke für die schnelle Antwort. Das mit der automatischen Skalierung zweier Y-Achsen habe ich eben probiert. Ich habe von 1), wo die Feuchtekurve "falsch" skaliert, die Temp-Kurve gelöscht und die Y-Achse der Feuchte nach rechts verlegt. Es ändert an der Skalierung gar nichts. Daran kann es also nicht liegen.
-
Ich hätte schon gerne Autoskalierung, aber mit einer gemeinsamen y-Skalierung. Geht das irgendwie? `
Ja, geht!Heute habe ich mich wieder über die y-Achsendarstellung geärgert. Schaut Euch dieses Bild an:
Man könnte meinen, die Temp von Garage, Garten, Terrasse seien ähnlich. Weit gehfehlt, beim drüberhovern sieht man jeweils 2K Tempunterschied zwischen Garten und Terrassen und Terrasse und Garten.Also wollte ich dieses Thema wieder aufwärmen.
Dank Orange Pi macht das Updaten von iObroker spass und nun habe ich FLOT 1.6.1 drauf. Und siehe da:
Man kann hier eine gemeinsame Achse auswählen! <dafault>stand drin, und ich habe die Tempkurven mit Achse <1> synchronisiert.Jetzt kann man die Temperaturkurven schon viel besser vergleichen:
Keine Ahnung, ob das ein neues Feature ist, oder ob schon länger drin war und ich es bisher übersehen hatte.Jedenfalls sage ich HERZLICHEN DANK, daß dieses Feature drin ist.</dafault>