手動で入力したシリーズやシリーズのデータに依存しない動的なグラフを作成するという私の探求では、問題が発生しました。正しい量の系列と正しいデータを追加していますが、たまたま間違った系列または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関数のそれぞれでエラーが発生すると思います。これに渡されるjsonの場合、ループ内の各オブジェクトを通過するときにポイントを追加するときに順番になるように、すべてが順番に作成されました。発生する奇妙なことは、追加されたすべてのポイントが間違った場所にあるわけではなく、そのうちの1つだけが間違ったシリーズにあるということです。
間違ったチャートの保存
間違ったチャートがほんの少しずれています
正しいチャート