2013-02-10 2 views
0

Я пытаюсь сохранить круговую диаграмму отсортировано, уменьшив значения ее срезов.Highcharts: держать пирог _sorted_

Например, если мы начнем с серией: [['foo', 4], ['bar', 2], ['baz', 1]] и мы получаем обновление, говоря нам, что срез bar теперь 8 единиц большой, я хотел бы обновить ряд следующим образом: [['bar', 8], ['foo', 4], ['baz', 1]].

В документации я нашел два разных метода, полезных для этой проблемы: series.setData и Point.update(). Проблема с первой заключается в том, что она не вызывает никаких анимаций: она просто заменяет содержимое серии новым набором точек. С последним у меня возникают проблемы, пытаясь сохранить синхронизацию легенды и диаграммы: http://jsfiddle.net/gnCSY/17/

Есть ли способ обновить легенду после обновления всех точек диаграмм?

ответ

0

Я не уверен, как должны выглядеть эти анимации (как оживить, что одна серия выросла больше, чем другая). Тем не менее, вы можете просто Recreate график, см: http://jsfiddle.net/gnCSY/19/

if(chart) 
     chart.destroy(); 
    options.series[0].data = new_data; 
    chart = new Highcharts.Chart(options); 
+0

Когда я говорю, анимация, я имею в виду, что каждый кусочек диаграммы _slowly_ расширяется/сужается и меняет свой цвет в зависимости от нового массива данных. Я уже думал о том, чтобы уничтожить и воссоздать диаграмму с нуля, но мне это показалось немного _overkill_; однако, если это окажется более разумным и подходящим решением проблемы, я придерживаюсь этого. – landimatte

Смежные вопросы