обновить данные в диаграмме (выпадающий список)

#javascript #jquery #json #dojo #dojox.charting

#javascript #jquery #json #dojo #dojox.построение графиков

Вопрос:

В моем коде ниже данные обновляются, но диаграмма не перерисовывается в том же положении. В чем проблема в моем коде?

(больше информации в firebug, если хотите — json обновляется при изменении выпадающего списка las — данные есть только у дизайнера категорий)

  <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>
  

Спасибо

Комментарии:

1. мне нужно нарисовать диаграмму перед обновлением. решаемая

2. Люди не часто отвечают на сообщения «исправьте мой код» и вместо этого требуют от пользователя немного больше работы, чтобы определить, что конкретно не работает, и предоставить некоторый критический контекст.

3. Пожалуйста, дайте ответ, если вы решили эту проблему.

Ответ №1:

Сначала визуализируйте свою диаграмму, затем выполняйте любые обновления. Просто переключите эти две строки, как показано:

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