Лучевая векторная диаграмма для визуализации связей в Excel

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

Как сделать лучевую векторную диаграмму связей в Excel

Сначала взглянем на то, что мы пытаемся построить и визуально оценим объем работы. Выглядит интересно? Тогда читайте дальше, чтобы узнать, как это создать.

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

Как видите, диаграмма содержит следующие части:

  1. Набор точек, каждая из которых представляет одну заинтересованную сторону – участники сети.
  2. Набор сероватых толстых сплошных и тонких пунктирных линий, представляющих все отношения между людьми. Сплошные – сильные связи (например, друзья), пунктирные – слабые связи (знакомые).
  3. Набор зеленых толстых и синих пунктирных линий, представляющих отношения для выбранного конкретного участника сетевой группы.
  4. Срез для выбора анализа участника – как панель управления лучевой диаграммой.
  5. Табличка со сводной статистикой выбранного человека.

Алгоритм создания лучевой векторной диаграммы в Excel

Чтобы упростить наш урок, давайте предположим, что мы говорим об отношениях не между четырнадцатью как на графике, а пока только с 4-ма людьми по имени Антон, Алиса, Борис и Белла.

Наша матрица уровня отношений и связей между ними выглядит следующим образом:

матрица.
  • 0 значит отсутствие отношений;
  • 1 означает слабые отношения (например: Антон и Алиса просто знают друг друга);
  • 2 означает крепкие отношения (например, Борис и Алиса друзья).

Как можно геометрически смоделировать визуализацию этих исходных данных? Если бы мы нарисовали отношения между этими четырьмя людьми (Антон, Алиса, Борис и Белла), это схематически выглядело бы так:

смоделировать визуализацию.

2 критерия, которые нам нужно определить:

  1. Расположение точек (где печатаются имена людей).
  2. Линии (начальная и конечная точка соединения линий).

Определение и построение точек

Сначала нам нужно построить наши точки таким образом, чтобы промежуток между каждой точкой был одинаковым. Это создаст сбалансированный график.

Какая геометрическая фигура максимально удовлетворяет нашу потребность в таких равных промежутках? Конечно же круг!

Вы можете возразить, что на готовой модели диаграммы нет фигуры круга. Да действительно нет –вот так. Нам не нужно рисовать круг. Нам просто нужно построить точки вокруг него.

Таким образом, у нас есть 4 заинтересованные стороны, нам нужно 4 точки:

  1. Если у нас 12 заинтересованных сторон, нам нужно 12 точек.
  2. Если у нас есть 20, нам нужно 20 точек.

Предполагая, что источником нашего круга является (x, y), радиус - это r, а тета - 360, деленная на количество нужных нам точек. Первая точка (x1, y1) на окружности будет в этой позиции:

  • x1 = x + r * COS (тета);
  • y1 = y + r * SIN (тета).

Как только все точки рассчитаны и подключены к XY-диаграмме (точечная диаграмма), давайте двигаться дальше.

Построение линий на лучевой диаграмме

Допустим, у нас в сети есть n человек. Это означает, что каждый человек может иметь максимум n-1 отношений.

Таким образом, общее количество возможных линий на нашем графике равно n * (n-1) / 2.

Нам нужно разделить его на 2, как будто A знает B, тогда B тоже знает A. Но нам нужно нарисовать только 1 линию.

Шаблон лучевой диаграммы для анализа сетевого графика настроен для работы с 20 людьми. Его можно скачать в конце статьи и использовать как готовый аналитический инструмент визуализации данных связей. Это означает, что максимальное количество строк, которое мы можем иметь, будет равно 190.

Каждая строка требует добавления отдельной серии на график. Это означает, что нам нужно добавить 190 серий данных только для 20 человек. И это удовлетворяет только одному типу линии (пунктирная или толстая). Если нам нужны разные линии в зависимости от типа отношений, нам нужно добавить еще 190 серий.

Это больно и смешно одновременно. К счастью, выход есть!

Мы можем использовать гораздо меньшее количество серий и по-прежнему строить один и тот же график.

Допустим, у нас есть 4 человека – A,B,C и D. Ради простоты, давайте предположим, что координаты этих 4-х участников следующие:

  • А - (0,0);
  • B - (0,1);
  • С - (1,1);
  • Д - (1,0).

И скажем, A имеет отношения с B, C и D.

Это означает, что нам нужно нарисовать 3 линии, от A до B, от A до C и A до D.

Теперь, вместо того, чтобы поставить 3 серии для диаграммы, что если мы поставим одну длинную серию, которая выглядит следующим образом:

(0,0), (0,1), (0,0), (1,1), (0,0), (1,0)

Это означает, что мы просто рисуем одну длинную линию от A до B, от A до C, от A до D. Договорились, что это не прямая линия, но точечные диаграммы Excel могут нарисовать любую линию, если вы предоставите ей набор координат.

Смотрите эту иллюстрацию, чтобы понять технику:

иллюстрация.

Таким образом, вместо 190 рядов данных для диаграммы нам просто нужно 20 рядов.

На последнем графике мы имеем 40 + 2 + 1 ряд данных. Это потому что:

  • 20 линий для слабых отношений (пунктирные линии);
  • 20 линий для прочных отношений (толстые линии);
  • 1 строка для выделения синим цветом слабых отношений выделенного участника;
  • 1 строка для выделения зеленым цветом сильных отношений выделенного участника;
  • 1 комплект без линий, а просто точек для подписей данных на графике.

Как сгенерировать все 20 серий данных:

Это требует следующей логики:

  • Предполагая, что нам нужны линии для отношений человека n.
  • Точка этого человека будет (Xn, Yn) и уже рассчитана ранее (в точках на графике вокруг круга).
  • Нам нужно всего 40 строк данных.
  • Каждая нечетная строка будет иметь (Xn, Yn).
  • Для каждого четного ряда:
    • разделите номер строки на 2, чтобы получить номер человека (скажем, m);
    • (Xn, Yn), если нет отношений между n и m;
    • (Xm, Ym), если есть отношения.

    Нам нужны формулы MOD и INDEX для выражения этой логики в Excel.

    Как только все координаты линии будут рассчитаны, добавьте их к нашему точечному графику как новые ряды используя инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления всех 43-х рядов.

    Реализовывать создание такой лучевой диаграммы связей будем в 3 этапа:

    1. Подготовка исходных данных.
    2. Обработка данных.
    3. Визуализация.

    Подготовка данных для лучевой диаграммы

    Как уже упоминалось выше данный шаблон будет обладать возможностью визуального построения связей до 20-ти участников (компаний, филиалов, контрагентов и т.п.). На листе книги шаблона «Данные» предоставленная таблица для заполнения входящих значений. Например, заполним ее для 14-ти участников рынка:

    Подготовка данных.

    На этом же листе создадим дополнительную таблицу, которая представляет собой матрицу связей всех возможных участников, сгенерированную формулой:

    дополнительная таблица.

    С подготовкой данных мы закончили переходим к обработке.

    Обработка данных для построения лучевой диаграммы

    На следующем листе с именем «Обработка» создаем сначала 2 таблицы: одна обычная, вторая умная. Обычная таблица заполнена формулами и значениями так как показано на рисунке:

    Обработка.

    Обратит внимание!!!:

    1. В ячейках B9 и B10 используются формулы массива поэтому при их вводе следует использовать комбинацию клавиш CTRL+SHIFT+Enter.
    2. Умная таблица должна быть расположена не выше 45-ой строки текущего листа Excel. Для данной таблице будет регулярно применятся фильтр, который будет скрывать часть строк листа. Нельзя допустить чтобы в эти строки попадали другие значения.

    Рядом создаем еще одну таблицу для вычисления координат на основе данных первой таблицы. Для этого используется 2 формулы для значений X и Y:

    две формулы.

    Следующая таблица создана для построения координат линий – отношений на уровне знакомых. Таблица содержит 40 строк и 40 столбцов. Каждая пара столбов – это входящие данные для радов диаграммы. Все ячейки заполнены одной сложной формулой:

    построение координат линий.

    Рядом же сразу создаем аналогичным образом таблиц с координатами построения линий – отношений на уровне друзей. Все ее ячейки заполнены формулой:

    координаты построения линий.

    Эти две таблицы будут использованы для построения серых линий. А теперь создадим еще одну таблицу для построения синих и зеленых линий для выделенного участника:

    построение серых линий.

    В каждом столбце этой таблицы используются разные формулы:

    Столбец листа CM (X-синяя):

    CN (Y- синяя):

    CO (X- зеленая):

    CP (X- зеленая):

    Все с обработкой закончили! У нас есть все координаты для точек и линий. Осталось только построить лучевую диаграмму визуализировав таким образом входящие значения на листе «Данные».

    Визуализация данных связей участников на лучевой диаграмме

    Начнем сначала с построения серых пунктирных линий для отображения всех слабых связей между участниками. А потом сделаем те же самые действия для серых сплошных линий сильных связей. Выделите диапазон ячеек I3:J43 и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Точечная с прямыми отрезками».

    отображения слабых связей.

    Из диаграммы следует удалить: сетку, оси координат, название и легенду.

    Затем из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления остальных 20-ти рядов:

    Добавить ряды.

    Для каждой линии нужно присвоить один и тот же формат. Удобно выбирать ряды линий из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Текущий фрагмент». Из выпадающего списка выбираем необходимый нам ряд, а ниже жмем кнопку «Формат выделенного» чтобы приступить к форматированию:

    Удобно выбирать ряды линий.

    Далее добавляем еще 2 ряда для выделения цветом выбранных участников. Для этого используем значения последней таблицы:

    еще 2 ряда.

    Не забудем изменить цвета линий на зеленый и синий – соответственно.

    Осталось еще добавить подписи данных. Для этого используем вторую таблицу с базовыми координатами точек участников при создании еще одного ряда:

    подписи данных.

    Выделяем последний ряд, щелкаем по полюсу возле диаграммы и отмечаем галочкой опцию «Подписи данных». Сам ряд лучше скрыть, убрав завивку для его линий.

    Интерактивная панель управления лучевой диаграммой связей

    Для создания панели управления будем использовать обычный срез для уже созданной умной таблицы. Перейдите на любую ячейку умной таблице на листе «Обработка» и выберите инструмент: «ВСТАВКА»-«Фильтры»-«Срез». В паявшемся окне укажите галочкой только на опцию «Имя».

    Копируем срез и лучевую диаграмму на отельный лист «ГРАФИК» и наслаждаемся готовым результатом:

    Сетевой график связей.

    Скачать лучевую диаграмму связей в Excel

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

    
    en ru