Diagramm mit Chart.js zeigt nur Labels, keine Grafik
bearbeitet von dedlfixHallo,
es ist sicherlich eine sehr spezielle Frage, aber ich hoffe, es findet sich hier jemand, der dennoch weiterhelfen kann.
In meinem Hauptfenster werden "Unterseiten" mittels object-Tag eingebunden.
In einem dieser Unterseiten möchte ich eine Grafik mittels Chart.js anzeigen.
Das hat wunderbar funktioniert, solange ich die Grafik-Werte etc. innerhalb der Unterseite ermittelt hatte.
Jetzt soll aber der Anwender zwischen den Unterseiten wechseln können, ohne dass die Grafik-Werte dabei jedes Mal neu ermittelt werden müssen.
Dafür habe ich die Variable "Grafikconfig" in der Hauptseite definiert und die Daten dort schon ermittelt. Beim ersten Aufruf der Grafik-Seite wird der Chart auch wunderbar dargestellt.
Wenn ich jetzt die Unterseite kurz wechsele, dann ändern sich die Werte für "Grafikconfig" nicht, aber der Chart wird beim 2. Aufruf nicht mehr angezeigt. Allerdings sieht man, dass die Labels weiterhin passen und dass auch beim MouseOver über die nicht angezeigte Grafik, das Info-Fenster mit dern korrekten Werten angezeigt wird.
Die Werte sind also noch vorhanden und korrekt übergeben worden, dennoch wird die Grafik nicht sichtbar.
Die Daten habe ich sogar mal initial random erstellen lassen:
~~~JavaScript
laenge = Grafikconfig.data.labels.length;
if (laenge < 100) {
for (j=0; j<99-laenge+1; j++ ) {
Grafikconfig.data.labels.push(" ");
Grafikconfig.data.datasets.forEach(function(dataset) {
dataset.data.push(zufallswerte());
});
}
}
~~~
Der Aufruf bzw. das Erstellen der Grafik erfolgt über:
~~~JavaScript
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx, parent.Grafikconfig);
Mit dem Debugger sehe ich, dass auch beim zweiten Aufruf das Objekt myLine noch "undefined" ist.
Die Werte ändern sich auch nicht beim zweiten Aufruf.
Ich kann zwischen dem ersten und dem zweiten Aufruf keinen Unterschied erkennen.
Aber was ist der Unterschied? Irgendeinen wird es geben müssen, oder?
LG Klaus
~~~