![]() |
|
|
![]()
|
|
| Therion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Доброго время суток.
Не получается оптимально распределить метки на PieChart для небольших сегментов без пересечений. Если кто сталкивался с проблемой - поделитесь алгоритмом. ![]() Заранее благодарен за помощь. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
в общем виде — никак.
в смысле, будет место — можно разбросать подписи выше-ниже. можно сделать так, что при наведении на сектор, соответствующая лейба будет "вспылвать" поверх остальных |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Можно попробовать как-то так. Сначала рисуем подпись соответвтвующую некому среднерасположенному сектору. Потом соседнюю. Проверяем пересекаются ли. Если да - сдвигаем до непересечения. Потом следующую. И так далее.
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| nucer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 21.6.2004 Где: Москва Репутация: нет Всего: 0 |
Конкретно для данного случая - совсем несложно...
Вариант 1. 1. Находим сумму высот всех надписей. 2. Выравниваем по вертикали (вероятнее всего, центрируем) блок с надписями относительно нижней и верхней y-координат "кусочков" пая. 3. Последовательно сверху-вниз добавляем надписи. Вариант2 . 1. При добавлении надписи сохраняем её координаты и размер. 2. При добавлении следующей - проверяем на пересечение с предыдущей. 3. Если пересекаются, то подвигаем текущую надпись, либо вниз, либо вправо. Для общего случая думаю тоже можно найти решение, но вначале нужно понимать куда пойдут надписи, например, для кусочков, которые находятся снизу или сверху пирога. Вариантов действительно много. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |