我对 javascript 还是很陌生,这让我把头撞在墙上。我确信这真的很简单,但由于某种原因,我似乎无法正常工作。我在 stackoverflow 上看到过类似的问题,但我无法让它们为我工作。
我正在尝试将未知数量的数据集绘制到 Chartjs 图上。我能够获取数据(使用 PHP,它作为画布子元素上的数据属性输出)并将它们存储到变量 $rows。
var $rows = $('#graphCanvas').find('> div')
Run Code Online (Sandbox Code Playgroud)
然后我遍历行并计算数据集。
var colors = [ '#2685CB', '#4AD95A', '#FEC81B', '#FD8D14', '#CE00E6', '#4B4AD3', '#FC3026', '#B8CCE3', '#6ADC88', '#FEE45F' ];
for (var i=0; i<$rows.length; i++) {
datasetdata[i] = {
label:"Test " + i,
data: getdata($rows[i]),
backgroundColor: colors[i],
hoverBackgroundColor: colors[i],
borderStyle: 'solid',
borderWidth: 2,
}
}
function getdata($rows) {
//returns raw data
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但是当我尝试使用datasetdata时问题就开始了
var graphContext = document.getElementById("graphCanvas").getContext("2d");
var graphData = {
labels: labels,
datasets: [datasetdata]
};
Run Code Online (Sandbox Code Playgroud)
如果我将它与索引一起使用,它可以正常工作: …