javascript - 无法让 chartjs 用动态数据绘制图表(变量未硬编码)
问题描述
我正在尝试使用 chart.js 来绘制图表。我的用例非常简单,我从我的数据库中获取需要绘制在折线图上的数据。使用硬编码数据时,我可以让图表工作(即)
data: {
labels: ["January", "February", "March"],
datasets: [{
label: "Occupancy",
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
data: [1,2,3],
}]
},
尝试用变量数组替换 data: [1,2,3] 时,控制台中出现错误:
var occ_labels = $('.chart_data_class')[0].dataset['occLbl'];
//var occ_labels =["1","2","3"];
console.log(occ_labels);
var occ_twentyfive = $('.chart_data_class')[0].dataset['occ-25'];
var ctx_occ = document.getElementById('occ-chart').getContext('2d');
console.log(ctx_occ);
var chart = new Chart(ctx_occ, {
// The type of chart we want to create
type: 'line',
// The data for our dataset
data: {
labels: ["January", "February", "March"],
datasets: [{
label: "Occupancy",
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
data: occ_twentyfive,
}]
},
// Configuration options go here
options: {
legend: false,
}
});
var ctx_adr = document.getElementById('adr-chart').getContext('2d');
然后出现以下错误:
jquery3.self-5af507e253c37e9c9dcf65064fc3f93795e6e28012780579975a4d709f4074ad.js?body=1:3828 Uncaught TypeError: Object.defineProperty called on non-object
at Function.defineProperty (<anonymous>)
at e (Chart.min.js:12)
at a.buildOrUpdateElements (Chart.min.js:12)
at t.Controller.<anonymous> (Chart.min.js:11)
at Object.o.each (Chart.min.js:12)
at t.Controller.update (Chart.min.js:11)
at t.Controller.initialize (Chart.min.js:11)
at new t.Controller (Chart.min.js:11)
at new t (Chart.min.js:12)
at HTMLDocument.<anonymous> (interest.self-8876b9dfa2300b4adb2cc9db31f03dcc885a83d23bfc2247d8c08fa65a545fe9.js?body=1:16)
除了该变量之外,没有其他任何变化。该变量是有效的,并已在控制台中打印出来。我还尝试将变量设置如下:
var occ_twentyfive = [1,2,3];
这也不起作用。想法?我花了过去几个小时试图找出问题所在,但我无法弄清楚问题所在。
解决方案
令人惊讶的是,我刚刚回到该页面,它现在似乎正在工作,即使我之前已经启动并重新启动了多次服务器。也许某些东西正在某处缓存,并等待几天以某种方式重试修复它。不知道发生了什么...
推荐阅读
- c++ - 什么原因导致windows系统调用StartServiceCtrlDispatcher failed with 1063 error (failed service controller connect)?
- python - 解析 CoNLL-U 缺少注释 (misc)
- r - 将每小时数据汇总为 R 中列表中的每日数据
- c# - 在c#中通过套接字发送多个异步请求
- css - Angular 9中具有特定基本href的css中背景图像的路径
- javascript - 用另一个新的 Promise 拒绝一个 Promise
- javascript - 在 interact.js 中使用 snap 调整大小
- r - 如何将函数应用于数据框中的特定列并替换原始列?
- html - div中的文本不显示它的位置
- rest - 具有多个合同的 Mono WCF 休息服务“配置文件中未定义端点”