在创建不依赖于任何手动输入的系列或系列数据的动态图表的过程中,我遇到了打嗝。我正在添加正确数量的系列和正确的数据,但它恰好是错误的系列或x轴点。有些要点是1分,我相信我已经把它弄得一团糟但看不到它。
function chartCreate(point) {
var temp;
temp = $.parseJSON(point.d);
$.each(temp, function (key, p) {
var seriesObj;
seriesObj = seriesExists(p.mcAnswer);
if (seriesObj.status == 'f') {
var name = p.mcAnswer.replace(/^\s+|\s+$/g, '')
//var name = p.mcAnswer.replace(/^\s+|\s+$/g, '')
chart1.addSeries({ name: name, data: [] }, false);
chart1.series[seriesObj.count].addPoint(p.total, false);
} else {
chart1.series[seriesObj.count].addPoint(p.total, false);
}
});
};
//loops through all the series to see if the series exists.
//if true returns index and true if not just returns false
function seriesExists(name) {
name = name.trim();
var ct = 0;
var returnObj = { count: ct, status: 'f' };
var len = chart1.series.length;
// var len = 0;
if (len > 0) {
$.each(chart1.series, function (count, curSeries) {
ct = count;
var temp = curSeries.name;
temp = temp.trim();
if (temp == name) {
returnObj = { count: ct, status: 't' };
return (false);
} else {
returnObj = { count: ct, status: 'f' };
}
//ct = count;
});
}
return returnObj;
};
我相信错误发生在seriesExists函数的.each中。对于传递给它的json,所有东西都是按顺序制作的,所以当你遍历循环中的每个对象时,它会按顺序添加点。发生的奇怪的事情并非所有添加的点都在错误的位置,只有其中一个是错误的系列。 保存错误的图表
错误的图表只有几个关闭
正确的图表
答案 0 :(得分:0)
很抱歉,我花了很长时间才进入另一个项目。我能够通过遍历每个对象并将它们存储在临时数组中来创建正确的图表。在我浏览了ajax调用中的所有对象后,我将使用addSeries,它将正确创建图表。