0

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

不正确的图表实际上在屏幕上看起来像什么 不正确的图表只是一些关闭

正确的图表 正确的图表

4

1 回答 1

0

抱歉,我花了这么长时间才被拉到另一个项目中。通过遍历每个对象并将它们存储在临时数组中,我能够创建正确的图表。在我浏览了 ajax 调用中的所有对象之后,我将使用 addSeries 并正确创建图表。

于 2013-03-11T17:45:39.957 回答