У меня есть лист, где я создаю круговую диаграмму из данных из базы данных. Диаграмма изменяется в зависимости от отображаемых данных, поэтому срезы часто меняют размер.

Я хочу отображать метки данных вне срезов с линиями выноски, если срез достаточно мал, чтобы это оправдать.

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

Вот пример диаграммы после изменения данных. Мы можем видеть, как "собственность" и "погашение" перекрываются, в то время как "макро" и "золото" оказались слишком далеко, что привело к появлению лишних линий лидеров.

Есть ли какой-нибудь VBA-скрипт, который хорошо позиционирует метки без этих проблем? Встроенное позиционирование в Excel недостаточно, поскольку оно пытается поместить некоторые метки в срезы, если они достаточно большие, что приведет к неразборчивым меткам из-за цветовой схемы.

1 ответ1

1

Коротко отвечая на ваш вопрос, вы можете манипулировать надписями через VBA, но я думаю, что вам будет сложно создать эффективный алгоритм для аккуратного размещения надписей на постоянно меняющейся круговой диаграмме.

Я предложу альтернативу круговой диаграмме (на самом деле они не являются отличной альтернативой для диаграмм, вот место, где вы можете начать поиск, если вам интересно Save Pies for Dessert). Гистограмма является альтернативой как для отображения данных, так и для решения проблемы маркировки, которая вызывает у вас проблемы. Вот пример с данными, которые вы предоставили в своем примере:

Пирог Альтернатива

Здесь не нужно беспокоиться о размещении или расположении ярлыков, название инвестиции всегда примыкает к соответствующему столбцу без необходимости в лидерах. Процент четко обозначен внутри соответствующего столбца, причем относительные длины дают визуальное представление об их относительных размерах. Сортировка может быть сделана для акцентирования значений (как в примере) или может быть изменена на статическую (например, в алфавитном порядке), чтобы можно было легко сравнивать разные версии одной и той же диаграммы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .