Javascript 如何通过变量将JSON传递给highchart热图数据标记?
我有以下生成字符串的代码。我希望将此发送到highcharts的数据标记以渲染热图Javascript 如何通过变量将JSON传递给highchart热图数据标记?,javascript,arrays,json,highcharts,Javascript,Arrays,Json,Highcharts,我有以下生成字符串的代码。我希望将此发送到highcharts的数据标记以渲染热图 function getData() { $.ajax({ type: "GET", url: "http://localhost:5000/renderheatmap", dataType: 'json' }).done(function (jsonData) { for (var i = 0; i < jsonData.length; i++) { fetched_data.
function getData() {
$.ajax({
type: "GET",
url: "http://localhost:5000/renderheatmap",
dataType: 'json'
}).done(function (jsonData) {
for (var i = 0; i < jsonData.length; i++) {
fetched_data.push(JSON.stringify(jsonData[i]))
}
document.getElementById('test_div').innerHTML = "["+fetched_data+"]";
final_data = "["+fetched_data+"]";
});
虽然这样做有效:
series: [{
name: 'Sales per employee',
borderWidth: 1,
data: [[0,0,39],[0,1,39],[0,2,39],[0,3,39],[0,4,39],[0,5,39],[0,6,39],[0,7,39],[0,8,39],[0,9,39],[0,10,39],[0,11,39],[1,0,69],[1,1,69],[1,2,69],[1,3,71],[1,4,72],[1,5,72],[1,6,73],[1,7,73],[1,8,73],[1,9,73],[1,10,73],[1,11,74],[2,0,84],[2,1,84],[2,2,84],[2,3,84],[2,4,84],[2,5,84],[2,6,84],[2,7,84],[2,8,84],[2,9,83],[2,10,83],[2,11,84],[3,0,69],[3,1,69],[3,2,69],[3,3,69],[3,4,70],[3,5,72],[3,6,71],[3,7,70],[3,8,67],[3,9,64],[3,10,63],[3,11,63],[4,0,60],[4,1,60],[4,2,62],[4,3,62],[4,4,61],[4,5,60],[4,6,56],[4,7,55],[4,8,49],[4,9,41],[4,10,36],[4,11,34],[5,0,45],[5,1,45],[5,2,41],[5,3,40],[5,4,38],[5,5,33],[5,6,22],[5,7,21],[5,8,20],[5,9,14],[5,10,10],[5,11,10],[6,0,26],[6,1,23],[6,2,15],[6,3,10],[6,4,10],[6,5,10],[6,6,8],[6,7,7],[6,8,7],[6,9,7],[6,10,6],[6,11,5],[7,0,6],[7,1,6],[7,2,6],[7,3,3],[7,4,3],[7,5,3],[7,6,2],[7,7,2],[7,8,2],[7,9,2],[7,10,0],[7,11,0],[8,0,2],[8,1,1],[8,2,1],[8,3,1],[8,4,0],[8,5,0],[8,6,0],[8,7,0],[8,8,0],[8,9,0],[8,10,0],[8,11,0],[9,0,0],[9,1,0],[9,2,0],[9,3,0],[9,4,0],[9,5,0],[9,6,0],[9,7,0],[9,8,0],[9,9,0],[9,10,0],[9,11,0]],
dataLabels: {
enabled: true,
color: '#000000'
}
}]
我哪里做错了?
如何将最终数据传递给序列?不是传递
最终数据的数组,而是作为字符串传递,因此它不起作用
var fetched_data = [];
function getData() {
$.ajax({
type: "GET",
url: "http://localhost:5000/renderheatmap",
dataType: 'json'
}).done(function(jsonData) {
for (var i = 0; i < jsonData.length; i++) {
fetched_data.push(jsonData[i])
}
// document.getElementById('test_div').innerHTML = fetched_data;
// final_data = new Array(fetched_data);
Highcharts.chart('yourid', {
series: [{
name: 'Sales per employee',
borderWidth: 1,
data: fetched_data,
dataLabels: {
enabled: true,
color: '#000000'
}
}]
});
});
}
var获取的_数据=[];
函数getData(){
$.ajax({
键入:“获取”,
url:“http://localhost:5000/renderheatmap",
数据类型:“json”
}).done(函数(jsonData){
对于(var i=0;i
希望这段代码有帮助 您好@Ashesh Das,我认为您的问题可能与JS中的异步有关。您必须在收到数据后创建一个图表-检查此示例:非常感谢!这很好用@非常感谢!我被困在这很长一段时间:)你必须在加载数据后初始化高位图表,请参阅更新的代码!对不起,迟了答复。这种方法似乎仍然不起作用:(@AsheshDas在这里创建一个提琴和链接plsI使用这个提琴来解决问题:jsfiddle.net/BlackLabel/l50mr8所以非常感谢Ravi的帮助。它帮助我从不同的角度看待这个问题。非常感谢!
var fetched_data = [];
function getData() {
$.ajax({
type: "GET",
url: "http://localhost:5000/renderheatmap",
dataType: 'json'
}).done(function(jsonData) {
for (var i = 0; i < jsonData.length; i++) {
fetched_data.push(jsonData[i])
}
// document.getElementById('test_div').innerHTML = fetched_data;
// final_data = new Array(fetched_data);
Highcharts.chart('yourid', {
series: [{
name: 'Sales per employee',
borderWidth: 1,
data: fetched_data,
dataLabels: {
enabled: true,
color: '#000000'
}
}]
});
});
}