Ankündigung
Einklappen
Keine Ankündigung bisher.
plot.period Zoom advanced
Einklappen
X
-
KleskMS klotzek Jackhammer
im develop branch ist jetzt ein Fix, der die Nachteile des Workarounds behebt. Ich wäre Euch dankbar, wenn Ihr diesen einmal testen würdet. In smartVISU v3.3 reicht es aus, die Datei ./widgets/plot.js auszutauschen.
Wenn Ihr die bisherige Datei sichern wollt, macht dies außerhalb der smartVISU-Ordner oder benennt die Endung von ".js" in z.B. ".js-old" um. Anderenfalls wird die alte Datei weiterhin importiert und sorgt für Konflikte.
Gruß
WolframZuletzt geändert von wvhn; 12.01.2023, 10:27.
- Likes 1
Einen Kommentar schreiben:
-
Die Lösung hat verschiedene Nachteile und ist daher nur temporär anzuwenden. Ich warte noch auf die Antwort von Highsoft, ob das Verhalten, das mit dem workaround kaschiert wird, als Bug eingestuft und gefixt wird. Danach baue ich eine entsprechende Lösung ein.
Highcharts selbst sieht eine Synchronisierung von Grafiken nicht vor. Es gibt im Netz verschiedene Hinweise, wie dies erreicht werden kann. Man müsste in die Seite dazu eigene Buttons einbauen und mit click-Events für alle Grafiken die xAxis.setExtremes() Methode aufrufen, Beispiel: siehe hier.
Gruß
Wolfram
Einen Kommentar schreiben:
-
Bei mir klappt's auch.
Kann man das irgendwie hinbekommen, dass man mit einem Button die Range aller Charts auf einer Seite verstellt?
Einen Kommentar schreiben:
-
Das ist leider dem Bugfixing zum Opfer gefallen. Weil Highcharts in bestimmten Situationen beim Laden neuer Daten die eingestellte Skalierung der x-Achse überschreibt, musste ich die x-Achse als Workaround neu skalieren. Leider wird dabei auch der eingestellte Rangeselektor ignoriert. Ich adressiere das mal an Highsoft in der Hoffnung, dass man dort Abhilfe schafft.
Bis dahin kannst Du mal folgenden Workaround testen: in der ./widgets/plot.js die Zeilen 557 bis 579 in folgende if-Anweisung setzen:
Code:if (!chart.options.rangeSelector.selected || chart.options.rangeSelector.selected == ''){ //... Code Zeilen 557 bis 579 ... }
Gruß
Wolfram
- Likes 2
Einen Kommentar schreiben:
-
Hallo,
seit dem Update auf Version 3.3.0
scheint mein selected Aufruf keine Auswirkung mehr auf die Range zu haben:
Code:{{ plot.period('', 'aussen.wetter.wetterstation.temperatur', 'avg', '14d', 'now', '', '', 36500, '', '', '', ['Temperatur in °C', ''], 'advanced', '', '', '', '', '', { rangeSelector: {selected: '3'}}) }}
Einen Kommentar schreiben:
-
Cool. Danke.
Ich nehme das gerne auch gleich in die Doku auf.
Gruß
Wolfram
- Likes 1
Einen Kommentar schreiben:
-
Dein Hinweis hat mich weitergebracht, aber leicht ist was anderes!
Für jeden der das gleiche Problem hat. Folgendes hat mir weitergeholfen
Code:{ rangeSelector: {selected: '3'}}
0 = 3 Std
1 = 6 Std.
usw....Zuletzt geändert von mwinkler; 19.01.2021, 15:43.
Einen Kommentar schreiben:
-
Da hast Du mich falsch verstanden. Auf der Dokuseite will ich nur den Code anzeigen, den ich in den vorigen Post hineinkopiert habe. In der Doku wird nämlich nur der Plot angezeigt, aber nicht der zugehörige Code.
Das Beispiel zeigt, wie eine Lösung prinzipiell aussehen kann. Da ich aktuell stark mit dem kommenden Release ausgelastet bin, bitte ich Dich, die chartoptions aus der highcharts-Doku selbst heraus zu suchen.
Gruß
Wolfram
Einen Kommentar schreiben:
-
Hallo Wolfram,
danke für Deine schnelle Antwort. Dann warte ich mal auf Deine Dokuseite.
Hier noch ein Screenshot. Den rot markierten Button meinte ich. Wenn Du mir hierzu den entsprechenden Eintrag schicken könntest, wäre das echt super.
Gruß
Michael
2021-01-19 13_08_59-Unser Zuhause.png
Einen Kommentar schreiben:
-
Hallo Michael,
das geht nicht direkt über die Widget Parameter. Man kann aber mit dem Parameter "chartoptions" zusätzliche Optionen direkt an Highcharts übergeben.
Auf der Dokuseite (die ich heute Abend an der Stelle noch ergänzen werde) wird zum Beispiel für die Veränderung der Skala der y-Achse und die Verlegung der Legende folgender Aufruf verwendet:
Code:{{ plot.period('', ['bath_plot_value','bath_plot_switch'], 'max', '1d', '', [20,'Off'], [24,'On'], '', ['Temperature','Heating'], '', ['line','stair'], '', '', [1,2], [0,1], '', ['linear', 'boolean'], '°', [MARKIEREN]{ yAxis: [ { tickInterval: 0.5 } ], legend: { verticalAlign: 'bottom', y: -30 } }[/MARKIEREN]) }}
Gruß in die Nachbachschaft
Wolfram
Einen Kommentar schreiben:
-
plot.period Zoom advanced
Hallo,
leider habe ich keine Info darüber gefunden, daher wollte ich jetzt mal fragen.
Ich habe mir einen plot.period erstellt und den zoom auf advanced. Jetzt kann man über die Buttons entsprechende Zeitbereiche aus wählen wie z.B. 3Std,1T usw. Beim Laden der Webseite wird aktuell aber immer "All" ausgewählt. Wie kann ich hier z.B. "1T" als Standard verwenden?
Gruß
MichaelStichworte: -
Einen Kommentar schreiben: