CanvasJs 创建了多个图表但只呈现了一个图表
CanvasJs multiple charts created but only one chart is rendered
我想根据 JSON 数组中的 N 个对象动态创建 CanvasJS 图表。如果JSON数组有3个对象,网页应该可以显示3个图表。
<div class="container-fluid" id="spectraContainers">
</div>
通过 id "spectraContainers",我有一个 javascript 函数,可以动态创建一个具有唯一 id 的新 div。在同一个函数中,使用其唯一 ID 创建了一个新图表。
document.getElementById("chartContainers").innerHTML += '<div class="row"> <div id="chart_container_' + chartNumber + '" style="width: 100 %; height: 500px; ">Container </div></div>';
...
...
...
var chartContainerID = "chartcontainer_" + chartNumber;
var chart = new CanvasJS.Chart(chartContainerID, {
animationEnabled: true,
zoomEnabled: true,
theme: "light2",
title: {
text: chartTitle,
},
axisX: {
title: "x axis label",
gridDashType: "dash",
gridThickness: 2
},
axisY: {
title: "y axis label",
gridDashType: "dash",
gridThickness: 2
},
dataPointMaxWidth: 20,
dataPointWidth: 10,
data: [{
type: "column",
dataPoints: points
}]
});
chart.render();
我已验证所有值均有效。似乎只有一个 canvasJS 图表(json 数组中的第三个对象)可以在此函数的页面中呈现。如果我专门为 json 数组中的索引 0 或 1 生成图表,则会呈现图表的指定索引。
我知道可以通过为每个 uniqueID 手动创建一个新的图表变量来呈现多个 canvasJs 图表。但是,我想动态生成 N 数量的图表。我是 javascript 的新手,非常感谢任何建议!!
使用 innerHTML 替换 div 元素的内容,而不是附加子元素。尝试使用追加方法。
我想根据 JSON 数组中的 N 个对象动态创建 CanvasJS 图表。如果JSON数组有3个对象,网页应该可以显示3个图表。
<div class="container-fluid" id="spectraContainers">
</div>
通过 id "spectraContainers",我有一个 javascript 函数,可以动态创建一个具有唯一 id 的新 div。在同一个函数中,使用其唯一 ID 创建了一个新图表。
document.getElementById("chartContainers").innerHTML += '<div class="row"> <div id="chart_container_' + chartNumber + '" style="width: 100 %; height: 500px; ">Container </div></div>';
...
...
...
var chartContainerID = "chartcontainer_" + chartNumber;
var chart = new CanvasJS.Chart(chartContainerID, {
animationEnabled: true,
zoomEnabled: true,
theme: "light2",
title: {
text: chartTitle,
},
axisX: {
title: "x axis label",
gridDashType: "dash",
gridThickness: 2
},
axisY: {
title: "y axis label",
gridDashType: "dash",
gridThickness: 2
},
dataPointMaxWidth: 20,
dataPointWidth: 10,
data: [{
type: "column",
dataPoints: points
}]
});
chart.render();
我已验证所有值均有效。似乎只有一个 canvasJS 图表(json 数组中的第三个对象)可以在此函数的页面中呈现。如果我专门为 json 数组中的索引 0 或 1 生成图表,则会呈现图表的指定索引。
我知道可以通过为每个 uniqueID 手动创建一个新的图表变量来呈现多个 canvasJs 图表。但是,我想动态生成 N 数量的图表。我是 javascript 的新手,非常感谢任何建议!!
使用 innerHTML 替换 div 元素的内容,而不是附加子元素。尝试使用追加方法。