4

在我下面的代码中,数据已更新,但图表未在同一位置重绘。我的代码有什么问题?

(如果需要,可以在 firebug 中获取更多信息 - 更改 las 下拉列表时会更新 json - 只有类别设计器有数据)

 <script type="text/javascript">
    dojo.query(".estatistica").onchange(function() {
        dojo.xhrPost({
            url: "drop2.php",
            handleAs: "json",
            postData: "data=" + $(this).val(),
            preventCache: true,
            load: function(json) {
                $msgs = [];

                for (var i = 1; i < 10; i++) {
                    $msgs.push(parseFloat(json[i]["valor" + i]));
                }
                var chart1 = new dojox.charting.Chart2D('chart1');
                chart1.addPlot("default", {
                    type: "StackedAreas",
                    markers: true,
                    tension: "S",
                    lines: true,
                    areas: true,
                    labelOffset: 0,

                });
                chart1.addAxis('x');
                chart1.addAxis('y', {
                    vertical: true,
                    max: 80000
                });

                chart1.addSeries('January Visits', $msgs, {
                    stroke: 'red',
                    fill: 'pink'
                });


                chart1.updateSeries("January Visits", $msgs);
                chart1.render();


            var stackedAreaLegend = new dojox.charting.widget.SelectableLegend({
                chart: chart1
            }, "legend1");

            stackedAreaLegend.refresh();

            }
        });
    });
</script>

谢谢

4

1 回答 1

0

首先,渲染您的图表,然后进行任何更新。把这两行交换一下,如图:

            chart1.render();
            chart1.updateSeries("January Visits", $msgs);
于 2011-07-12T05:59:42.443 回答