#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);