Ich habe ein seltsames Problem mit meiner Charts.js Liniendiagramm.Charts.js Rendering Problem beim Laden der Seite
Auf Seite zu laden, scheint nichts mehr im <canvas>
Elemente sichtbar zu sein:
Allerdings, wenn Sie die Browser-Fenster Größe ändern, die Grafik zeigt, wie beabsichtigt:
Hat jemand anderes diese angetroffen Problem und wissen, wie man es beheben kann?
Das JavaScript für meine Tabelle ist unten. Bitte lassen Sie mich wissen, wenn ich es irgendwie ändern muss, um dieses Problem zu beheben.
function drawLineChart() {
var dates = [];
var clientCosts = [];
$.ajax({
url: '../inc/wip-data.php',
dataType: 'json'
}).done(function(data) {
data.forEach(function(item) {
dates.push(item.date);
clientCosts.push(item.clientCostsTotal);
});
});
console.log(dates, clientCosts);
var chartData = {
labels: dates,
datasets: [{
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointHighlightStroke: "rgba(151,187,205,1)",
data: clientCosts
}]
};
// Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
// Instantiate a new chart
var myChart = new Chart(ctx, {
responsive: true,
type: 'line',
data: chartData,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
}
drawLineChart();
This issue is not replicating in JS Bin. Der einzige Unterschied zwischen dem JS Bin und meinem lokalen Build ist der AJAX-Aufruf für die Daten, so dass ich führt der Ajax-Aufruf ist zu glauben, was das Problem verursacht. Jede Anleitung zu dem, was dieses Problem verursachen könnte, wäre willkommen.
Das Skript ist jetzt: '.ajax $ ({ url: '../inc/wip-data.php', datatype: 'json' }). done (function (data) { data.forEach (function (item) { dates.push (item.date); clientCosts.push (item.clientCostsTotal); myChart.update(); }); }); ' Es funktioniert wie vorgesehen. – Liz
Cool! Froh, dass ich helfen konnte! – Sergiu