PDA

Просмотр полной версии : Как сделать pie chart с изменяемыми секторами ?


rukez
09.04.2010, 05:58
Цель - создание компонента, в котором удобно выбирать процентное соотношение нескольких параметров, путом графического изменения размера секторов на обычной круглой диаграмме
Такой компонент например реализован вот тут: http://www.tk.mts.ru/sz (круглые диаграммы, которые по нажатию становятся большими и редактируемыми)
Вопрос - как это делается ?
Меня хватило на то что-бы взять обычный pie chart, повесить свой item renderer в котором добавляется отрисованная кнопка на стыке секторов
Как сделать чтоб её перемещение в пространстве осуществлялось по кругу, и как поудобнее привязать изменение данных ?
Пробовал отслеживать изменения положения курсора при mouse down и в зависимости от разницы с начальным значением, изменять данные в датапровайдере диаграммы, но получается очень неудобно :away:
Может кто уже делал такое и подскажет как попроще и покрасивше реализовать такую задачу ?

fljot
09.04.2010, 11:15
При изменении положения курсора анализируем направление из центра на курсор, изменяем разворот соотв сектора в предела (его начальный угол то мы можем посчитать). Не забыть ограничить размер сектора.

rukez
09.04.2010, 17:48
да, спасибо, вчера после 8ми часов мучения :wacko: пришло озарение, можно для облегчения жизни попутно наложить кнопку длинною с радиус плюшки и вращать её от центра плюшки по курсору, попутно изменяя данные в датапрове - ключем было именно вращение кнопки - очень сильно экономит время и не надо писать собственный обработчик драга :)