Ориентированный граф на диаграмме MS EXCEL

Ориентированный граф на диаграмме MS EXCEL построить можно, но это не просто для новичков. Рассмотрим процесс построения.

Граф — это математический объект, представляющий собой множество вершин графа, соединенных рёбрами. У ориентированного графа ребра имеют направление и изображаются стрелочками.

Для построения ориентированного графа на диаграмме MS EXCEL сделаем следующие шаги:

1. Построим на Точечной диаграмме вершины (или узлы) графа;

2. Присвоим каждой вершине индивидуальную подпись (в MS EXCEL это придется сделать с помощью макроса); 

3. Зададим порядок соединения вершин ребрами. Например, ребро С будет соединять вершину 1 (начало) и вершину 2 (конец). Опишем соединения двумя способами: через непосредственное описание ребер и через маршруты;

4. Присвоим каждому ребру свою подпись на диаграмме.

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

Построение вершин

Создадим исходную таблицу для вершин. С каждой вершиной сопоставим произвольную точку с условными координатами (Х и Y). Координаты точек выберем лишь из соображений удобства отображения вершин на точечной диаграмме.

Выделите 2 столбца с координатами и создайте точечную диаграмму с маркерами (см. статью Основы построения диаграмм в MS EXCEL), т.е. без соединительных линий. Путем настройки свойств маркеров их можно превратить в кружки без заливки.

Присваиваем вершинам подписи

В MS EXCEL 2013 индивидуальные подписи для точек можно присвоить стандартными способом. В MS EXCEL 2010 и более ранних - придется использовать макрос. Подробнее см. статью Подписи для точечной диаграммы в MS EXCEL. Для того чтобы иметь возможность переименовывать вершины, в файле примера создана кнопка Изменить подписи вершин.

Соединение вершин ребрами (отдельный ряд)

Создадим таблицу для построения ребер. 

Для этого зададим названия для каждого ребра (пусть это будут буквы латинского алфавита), начальную и конечную вершину, которую соединяет ребро. С помощью простых формул =ВПР(G8;$A$8:$C$23;2;0) вычислим начальные и конечные координаты каждого ребра. 

На точечной диаграмме для каждого ребра создадим отдельный ряд (см. Лист Граф1).

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

Подписи ребер

Чтобы подписи располагались по центру ребра, потребуется создать еще 1 ряд. Ряд состоит из точек с координатами центра ребра. Координаты центра ребра вычисляются на основе координат начала и конца ребра (см. таблицу, столбец M и N). Подписи точкам присваиваются макросом аналогично тому, как мы делали для вершин. В итоге, как видно на диаграмме, название ребра будет выведено в его середине, в центре кружка.

Соединение вершин ребрами (пути)

Построение ребер было сделано выше через использование отдельного ряда для каждого ребра. Это трудоемко и потребовало написания макроса. Существует и другой путь. Можно определить пути обхода вершин, например 1; 4; 8; 14 (см. Лист Граф2). Это путь, который располагается в нижней части графа.

Задав путь, можно вычислить координаты ребер, которые соединены последовательно. Это существенно сократит количество рядов для построения ребер. Теперь каждый ряд будет представлять собой путь. При задании путей нужно избегать включения ребра в более чем 1 путь. 

Путям для удобства присвоена произвольная последовательная нумерация. Четные и нечетные пути выделены цветом с помощью Условного форматирования.

Координаты начальных точек ребер вычисляются с помощью формулы =ВПР($F8;$A$8:$C$23;H$6;0)

ВНИМАНИЕ!

Построение ориентированного графа в этой статье приведено лишь с целью демонстрации такой возможности в MS EXCEL. Не ставилось целью сделать "удобную программу для пользователей" при построении графов. Это означает, что при изменении пользователем количества вершин / ребер графа в файле примера, переименовании листов и других изменений, макрос может потребовать дополнительной настройки.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 5 (2 оценок)