在我创建不依赖于任何手动输入的系列或系列数据的动态图表的过程中,我遇到了麻烦。我正在添加正确数量的系列和正确的数据,但它恰好位于不正确的系列或 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;
};
我相信错误发生在 .each seriesExists 函数中。对于传递给它的 json,一切都是为了制作它,这样当你遍历循环中的每个对象时,添加点时它就会是有序的。奇怪的是,并非所有添加的点都在错误的位置,只有一个点在错误的系列中。 保存不正确的图表
不正确的图表只是一些关闭
正确的图表