eCharts in Ninox nutzen
Der in Ninox integrierte dynamische Druckeditor lässt es zu, dass auch eCharts https://echarts.apache.org/en/index.html in der Druckausgabe integriert werden können.
Da es es sich dabei um einen per Apache Lizenz frei verfügbaren Quellcode handelt, hat ein findiger Ninox Partner 'Götje Ingenieure Partnerschaft' einen Weg gefunden diese eCharts auch für die Darstellung innerhalb von Ninox zu nutzen und damit die Ninox eigenen Charts zu erweitern.
Ich habe deshalb mal eine kleine Beispiel DB erstellt, welche zum einen aufzeigt wie Ninox Daten für die Darstellung aufbereitet werden, als auch eine beispielhafte Übersicht, welche Möglichkeiten der Darstellung sich bieten.
27 Antworten
-
Ich würde gerne dieses 3D-EChart in NINOX einbinden:
https://echarts.apache.org/examples/en/index.html#chart-type-bar3DMit dem folgenden Code ist es mir gelungen, die Achsen mitsamt Beschriftung einzufügen. Allerdings zeigen sich keine Balken mit den Werten. Was habe ich falsch gemacht?
Dabei sollen die Daten aus einer Tabelle mit dem Namen 'Ausgaben' und den Spalten 'Ausgabenart', 'Jahr' und 'Summe' dynamisch abgefragt werden.
Ich finde diese Grafik deswegen so gut, weil sie es ermöglicht, den Verlauf mehrerer Parameter über die Zeit hinweg sehr übersichtlich darzustellen. Bitte um Hilfe! Danke!
let Data := (select Ausgaben); let Jahre := unique(Data.Jahr); let Ausgabenarten := unique(Data.Ausgabenart); html(" <script src='https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js'></script> <script src='https://cdn.jsdelivr.net/npm/echarts-gl@2/dist/echarts-gl.min.js'></script> <div id='Graph3D' style='width: 100%; height: 100%;'></div> <script type='text/javascript'> var chartDom = document.getElementById('Graph3D'); var myChart = echarts.init(chartDom); // X-Achse (Jahre) var xAxisData = [" + for idx from 0 to count(Jahre) - 1 do let jahr := item(Jahre, idx); jahr + if idx < count(Jahre) - 1 then ", " end end + "]; // Y-Achse (Ausgabenarten) var yAxisData = [" + for idx from 0 to count(Ausgabenarten) - 1 do "'" + item(Ausgabenarten, idx) + "'" + if idx < count(Ausgabenarten) - 1 then ", " end end + "]; // Datenpunkte vorbereiten var seriesData = [" + for idx from 0 to count(Data) - 1 do let d := item(Data, idx); "{ value: [" + d.Jahr + ", '" + d.Ausgabenart + "', " + d.Summe + "] }" + if idx < count(Data) - 1 then ", " end end + "]; var option = { tooltip: {}, visualMap: { /* ... Einstellungen beibehalten ... */ }, xAxis3D: { type: 'category', data: xAxisData }, yAxis3D: { type: 'category', data: yAxisData }, zAxis3D: { type: 'value' // Datenproperty hier entfernen }, grid3D: { /* ... Einstellungen beibehalten ... */ }, series: [{ type: 'bar3D', data: seriesData, shading: 'lambert', // ... restliche Serien-Einstellungen ... }] }; myChart.setOption(option); </script> ")
Danke!
Josef
Content aside
-
12
„Gefällt mir“ Klicks
- gesternZuletzt aktiv
- 27Antworten
- 619Ansichten
-
10
Folge bereits