将对象数据添加到 chart.js 图表的数据结构不显示任何数据
Adding object data to data structure of chart.js chart does not show any data
我有一个使用年份作为数据点的折线图。这一切都适用于页面加载。现在,我通过 ajax 调用将下拉列表设置为 select 年。
一切都已正确发布,数据也已正确检索。但由于某种原因,将检索到的数据放入数据结构时,图表不显示任何数据。它加载但它只是空的。
如果我添加在我的 JS 中硬编码的数据,它就可以工作。
出了什么问题?
这是我在 ajax 调用的 success
中的数据:
var obj = $.parseJSON(data);
var orders = obj[0].aantalarr;
如果我这样做 console.log(orders);
我得到 0,0,0,0,0,0,0,1,2,5,5,5
。
然后在图表的数据结构中我做的:
data: [orders]
其中显示了一个空图。
如果我这样做 data: [0,0,0,0,0,0,0,1,2,5,5,5]
,它工作正常。
如果我在控制台中记录 var,则会显示准确的数据,与我硬编码的数据相同。为什么 var 没有显示?
2 件事在我看来可能是问题。
第一个,如果 orders
已经是一个数组,您应该在将它传递给数据时删除环绕数组括号,如下所示:
data: orders;
如果订单中的是一大串由 ,
分隔的数字,您必须将其设为数组 chart.js 可以理解,而不是像这样包含 1 个大字符串的数组:
data: orders.split(',');
我有一个使用年份作为数据点的折线图。这一切都适用于页面加载。现在,我通过 ajax 调用将下拉列表设置为 select 年。
一切都已正确发布,数据也已正确检索。但由于某种原因,将检索到的数据放入数据结构时,图表不显示任何数据。它加载但它只是空的。
如果我添加在我的 JS 中硬编码的数据,它就可以工作。
出了什么问题?
这是我在 ajax 调用的 success
中的数据:
var obj = $.parseJSON(data);
var orders = obj[0].aantalarr;
如果我这样做 console.log(orders);
我得到 0,0,0,0,0,0,0,1,2,5,5,5
。
然后在图表的数据结构中我做的:
data: [orders]
其中显示了一个空图。
如果我这样做 data: [0,0,0,0,0,0,0,1,2,5,5,5]
,它工作正常。
如果我在控制台中记录 var,则会显示准确的数据,与我硬编码的数据相同。为什么 var 没有显示?
2 件事在我看来可能是问题。
第一个,如果 orders
已经是一个数组,您应该在将它传递给数据时删除环绕数组括号,如下所示:
data: orders;
如果订单中的是一大串由 ,
分隔的数字,您必须将其设为数组 chart.js 可以理解,而不是像这样包含 1 个大字符串的数组:
data: orders.split(',');