ExtJS 4 Chart - Смена осей, серий и магазина - PullRequest
2 голосов
/ 15 ноября 2011

У меня есть график, который будет показывать выработку энергии за день, месяц или год, в зависимости от выбора пользователя.Чтобы сделать это на одном графике, мне нужно иметь возможность менять оси, серии и хранилище при нажатии кнопки.Мне удалось заставить это работать, за исключением того, что у меня есть проблема старых данных, рядов и осей, которые все еще показывают, а новые только выкладываются сверху.Есть ли способ очистить или обновить / перерисовать диаграмму?Или я должен просто разделить это на 3 диаграммы и скрыть / показать диаграммы по нажатию кнопки?

Вот мой текущий код для настройки осей, серий и сохранения на лету.

        chart.axes.clear();
        chart.axes.addAll(dailyAxes);
        chart.series.clear();
        chart.series.addAll(dailySeries);
        chart.bindStore(Ext.data.StoreManager.lookup('dailyEnergy'));

Ответы [ 2 ]

3 голосов
/ 18 апреля 2012

Немного поздно, но чего не хватает, так это:

chart.surface.removeAll()

Это не идеально, так как вы можете получить вспышку пустого пространства, поскольку это уничтожает предыдущие элементы, но это предотвращает похмелье старых данных.

1 голос
/ 29 ноября 2011

Я не знаю, какой тип графика или что такое dailyAxes

, но я предполагаю, что вы хотите изменить свойства осей .. Вот пример того, как это сделать:

Ext.getCmp('chartid').axes.get("gauge").maximum =  100;

тогда вам нужно перерисовать график после того, как вы сделали:

Ext.getCmp('chartid').redraw();
...