Рисование графика - Graph drawing

Графическое изображение минутной доли WWW, демонстрируя гиперссылки.

Рисование графика это область математика и Информатика комбинируя методы из геометрическая теория графов и визуализация информации получить двухмерное изображение графики возникающие из приложений, таких как анализ социальных сетей, картография, лингвистика, и биоинформатика.[1]

Рисунок графика или Диаграмма сети это наглядное изображение вершины и края графа. Этот рисунок не следует путать с самим графиком: одному и тому же графику могут соответствовать очень разные макеты.[2] Говоря абстрактно, все, что имеет значение, - это то, какие пары вершин соединены ребрами. Однако в бетоне расположение этих вершин и ребер на чертеже влияет на его понятность, удобство использования, стоимость изготовления и эстетика.[3] Проблема усугубляется, если граф изменяется со временем, добавляя и удаляя ребра (динамическое рисование графа), и цель состоит в том, чтобы сохранить мысленную карту пользователя.[4]

Графические соглашения

Направленный граф со стрелками, показывающими направления краев

Графики часто рисуются как диаграммы узловых связей, в которых вершины представлены в виде дисков, блоков или текстовых меток, а края представлены как отрезки линии, полилинии, или кривые в Евклидова плоскость.[3] Диаграммы узлов и звеньев восходят к работам Pseudo-Lull XIV-XVI веков, которые были опубликованы под названием Рамон Лулль, эрудит 13 века. Псевдо-затишье нарисовал диаграммы этого типа для полные графики чтобы проанализировать все попарные комбинации среди наборов метафизических понятий.[5]

В случае ориентированные графы, наконечники стрел сформировать обычно используемое графическое соглашение, чтобы показать их ориентация;[2] тем не менее, исследования пользователей показали, что другие условные обозначения, такие как постепенное сокращение, предоставляют эту информацию более эффективно.[6] Плоский рисунок вверх использует соглашение, согласно которому каждое ребро ориентировано от более низкой вершины к более высокой вершине, что делает ненужными стрелки.[7]

Альтернативные соглашения для диаграмм узловых соединений включают представления смежности, такие как круговые упаковки, в котором вершины представлены непересекающимися областями на плоскости, а ребра представлены смежностями между областями; представления пересечений в котором вершины представлены неразъединенными геометрическими объектами, а ребра представлены их пересечениями; представления видимости, в которых вершины представлены областями на плоскости, а края представлены областями, которые имеют беспрепятственный обзор друг друга; сливающиеся рисунки, на которых края представлены в виде гладких кривых в математическом железнодорожные пути; ткани, в которых узлы представлены горизонтальными линиями, а края - вертикальными линиями;[8] и визуализации матрица смежности графа.

Меры качества

Для графических чертежей было определено множество различных показателей качества в попытке найти объективные средства оценки их эстетики и удобства использования.[9] Помимо выбора между различными методами компоновки для одного и того же графика, некоторые методы компоновки пытаются напрямую оптимизировать эти меры.

Планарный график нарисовано без перекрытия краев
  • В номер перехода чертежа - это количество пар ребер, пересекающих друг друга. Если график планарный, то часто бывает удобно нарисовать его без пересечения ребер; то есть в этом случае рисунок графика представляет собой вложение графа. Тем не менее, неплоские графы часто возникают в приложениях, поэтому алгоритмы рисования графов обычно должны учитывать пересечения ребер.[10]
  • В площадь рисунка - это размер самого маленького Ограничительная рамка относительно ближайшего расстояния между любыми двумя вершинами. Рисунки с меньшей площадью обычно предпочтительнее, чем с большей площадью, поскольку они позволяют отображать элементы рисунка в большем размере и, следовательно, более разборчиво. В соотношение сторон ограничивающей рамки также может иметь значение.
  • Отображение симметрии - это проблема поиска группы симметрии в пределах заданного графика и найти рисунок, который отображает как можно больше симметрии. Некоторые методы компоновки автоматически приводят к симметричным чертежам; в качестве альтернативы некоторые методы рисования начинают с поиска симметрий во входном графе и их использования для построения рисунка.[11]
  • Важно, чтобы края имели максимально простую форму, чтобы глазам было легче следить за ними. На полилинейных чертежах сложность кромки может быть измерена ее количество поворотов, и многие методы нацелены на создание чертежей с несколькими полными изгибами или несколькими изгибами на кромку. Точно так же для сплайновых кривых сложность кромки может быть измерена количеством контрольных точек на кромке.
  • Некоторые обычно используемые меры качества касаются длины кромок: обычно желательно минимизировать общую длину кромок, а также максимальную длину любой кромки. Кроме того, может быть предпочтительно, чтобы длина кромок была одинаковой, а не сильно варьировалась.
  • Угловое разрешение является мерой самых острых углов на чертеже графика. Если в графе есть вершины с высокими степень тогда оно обязательно будет иметь небольшое угловое разрешение, но угловое разрешение может быть ограничено снизу функцией степени.[12]
  • В номер откоса графа - это минимальное количество различных наклонов кромок, необходимое для чертежа с ребрами прямых отрезков (допускающих пересечения). Кубические графы имеют номер наклона не более четырех, но графики пятой степени могут иметь неограниченное число наклона; остается открытым, ограничено ли число наклона графов степени 4.[12]

Методы верстки

Визуализация сети на основе силы.[13]

Есть много разных стратегий компоновки графиков:

  • В силовая компоновка систем, программное обеспечение для рисования графов изменяет начальное размещение вершин, непрерывно перемещая вершины в соответствии с системой сил, основанной на физических метафорах, связанных с системами пружины или же молекулярная механика. Как правило, эти системы объединяют силы притяжения между соседними вершинами с силами отталкивания между всеми парами вершин, чтобы найти компоновку, в которой длины ребер малы, а вершины хорошо разделены. Эти системы могут выполнять градиентный спуск основанная на минимизации функция энергии, или они могут преобразовывать силы непосредственно в скорости или ускорения для движущихся вершин.[14]
  • Спектральный план методы используют в качестве координат собственные векторы из матрица такой как Лапласиан полученный из матрица смежности графа.[15]
  • Методы ортогональной компоновки, которые позволяют краям графа располагаться горизонтально или вертикально, параллельно осям координат компоновки. Эти методы изначально были разработаны для СБИС и Печатная плата проблемы макета, но они также были адаптированы для рисования графиков. Обычно они включают многофазный подход, при котором входной граф планаризуется путем замены точек пересечения вершинами, обнаруживается топологическое вложение планаризованного графа, ориентация ребер выбирается для минимизации изгибов, вершины размещаются в соответствии с этими ориентациями и, наконец, макет стадия уплотнения уменьшает площадь рисунка.[16]
  • Алгоритмы компоновки дерева показывают дерево -подобное образование, пригодное для деревья. Часто в технике, называемой «компоновка балуна», дочерние элементы каждого узла в дереве рисуются по кругу, окружающему узел, причем радиусы этих кругов уменьшаются на нижних уровнях дерева, чтобы эти круги не перекрывались.[17]
  • Рисование многослойного графика методы (часто называемые рисованием в стиле Сугияма) лучше всего подходят для ориентированные ациклические графы или графики, которые почти ациклические, такие как графики зависимостей между модулями или функциями в программной системе. В этих методах узлы графа организованы в горизонтальные слои с использованием таких методов, как Алгоритм Коффмана – Грэма таким образом, что большинство краев переходят от одного слоя к другому вниз; после этого шага узлы внутри каждого слоя располагаются таким образом, чтобы минимизировать пересечения.[18]
Диаграмма дуги
  • Диаграммы дуги, стиль макета 1960-х годов,[19] разместить вершины на линии; ребра могут быть нарисованы как полукруги выше или ниже линии или как плавные кривые, соединенные вместе из нескольких полукругов.
  • Круговая планировка методы помещают вершины графа на круг, тщательно выбирая порядок вершин вокруг круга, чтобы уменьшить пересечения и разместить смежные вершины близко друг к другу. Края могут быть нарисованы либо как хорды круга, либо как дуги внутри или вне круга. В некоторых случаях можно использовать несколько кругов.[20]
  • Рисунок доминирования размещает вершины таким образом, чтобы одна вершина была направлена ​​вверх, вправо или обеими в другой тогда и только тогда, когда она достижимый из другой вершины. Таким образом, стиль макета делает отношение достижимости графика визуально очевидным.[21]

Графические рисунки для конкретных приложений

Графики и рисунки графиков, возникающие в других областях применения, включают:

В дополнение размещение и маршрутизация шаги автоматизация проектирования электроники (EDA) во многом похожи на рисование графиков, как и проблема жадное вложение в распределенных вычислений, а литература по рисованию графиков включает несколько результатов, заимствованных из литературы EDA. Однако эти проблемы также различаются несколькими важными способами: например, в EDA минимизация площади и длина сигнала более важны, чем эстетика, а проблема маршрутизации в EDA может иметь более двух терминалов на сеть, в то время как аналогичная проблема в рисовании графа обычно включает только пары вершин для каждого ребра.

Программного обеспечения

Интерфейс рисования графиков (Gephi 0.9.1)

Программное обеспечение, системы и поставщики систем для рисования графиков включают:

  • БиоТкань программное обеспечение с открытым исходным кодом для визуализации больших сетей путем рисования узлов в виде горизонтальных линий.
  • Cytoscape, программное обеспечение с открытым исходным кодом для визуализации сетей молекулярного взаимодействия
  • Gephi, программное обеспечение для сетевого анализа и визуализации с открытым исходным кодом
  • графический инструмент, а бесплатно / бесплатно Python библиотека для анализа графиков.
  • Graphviz, система рисования графиков с открытым исходным кодом от Корпорация AT&T[28]
  • Linkurious, коммерческое программное обеспечение сетевого анализа и визуализации для графовые базы данных
  • Mathematica, универсальный вычислительный инструмент, который включает средства визуализации 2D и 3D графиков и анализа графиков.[29][30]
  • Макет автоматического графика Microsoft, библиотека .NET с открытым исходным кодом (ранее называвшаяся GLEE) для построения графиков[31]
  • NetworkX - библиотека Python для изучения графиков и сетей.
  • Программное обеспечение Тома Сойера[32] Tom Sawyer Perspectives - это графическое программное обеспечение для построения графиков корпоративного класса, а также приложений визуализации и анализа данных. Это пакет разработки программного обеспечения (SDK) с графическим дизайном и средой предварительного просмотра.
  • Тюльпан (программное обеспечение),[33] инструмент визуализации данных с открытым исходным кодом
  • yEd, редактор графиков с функцией компоновки графиков[34]
  • PGF / TikZ 3.0 с график пакет (требуется LuaTeX ).[35]
  • ЛаНет-Ви, программное обеспечение для визуализации больших сетей с открытым исходным кодом
  • Эдро Макс Программное обеспечение для построения 2D технических диаграмм

Рекомендации

Сноски
  1. ^ Di Battista et al. (1994), стр. vii – viii; Герман, Мелансон и Маршалл (2000), Раздел 1.1, «Типичные области применения».
  2. ^ а б Di Battista et al. (1994), п. 6.
  3. ^ а б Di Battista et al. (1994), п. viii.
  4. ^ Misue et al. (1995)
  5. ^ Кнут, Дональд Э. (2013), «Две тысячи лет комбинаторики», Уилсон, Робин; Уоткинс, Джон Дж. (Ред.), Комбинаторика: древнее и современное, Oxford University Press, стр. 7–37..
  6. ^ Холтен и ван Вейк (2009); Holten et al. (2011).
  7. ^ Гарг и Тамассия (1995).
  8. ^ Лонгабо (2012).
  9. ^ Di Battista et al. (1994), Раздел 2.1.2, Эстетика, стр. 14–16; Покупка, Коэн и Джеймс (1997).
  10. ^ Di Battista et al. (1994), стр.14.
  11. ^ Di Battista et al. (1994), п. 16.
  12. ^ а б Пах и Шарир (2009).
  13. ^ Опубликовано в Гранджан, Мартин (2014). "La connaissance est un réseau". Les Cahiers du Numérique. 10 (3): 37–54. Дои:10.3166 / lcn.10.3.37-54. Получено 2014-10-15.
  14. ^ Di Battista et al. (1994), Раздел 2.7, «Подход, управляемый силой», стр. 29–30, и глава 10, «Методы направленного действия», стр. 303–326.
  15. ^ Бекман (1994); Корен (2005).
  16. ^ Di Battista et al. (1994), Глава 5, «Поток и ортогональные рисунки», стр. 137–170; (Eiglsperger, Fekete & Klau 2001 ).
  17. ^ Герман, Мелансон и Маршалл (2000), Раздел 2.2, «Традиционный макет - Обзор».
  18. ^ Сугияма, Тагава и Тода (1981); Бастерт и Матушевски (2001); Di Battista et al. (1994), Глава 9, «Многослойные рисунки орграфов», стр. 265–302.
  19. ^ Саати (1964).
  20. ^ Doğrusöz, Madden & Madden (1997).
  21. ^ Di Battista et al. (1994), Раздел 4.7, «Рисунки доминирования», стр. 112–127.
  22. ^ Скотт (2000); Брандес, Фриман и Вагнер (2014).
  23. ^ Di Battista et al. (1994), стр. 15–16, и глава 6, «Поток и восходящая планарность», стр. 171–214; Фриз (2004).
  24. ^ Заппони (2003).
  25. ^ Андерсон и Хед (2006).
  26. ^ Ди Баттиста и Римондини (2014).
  27. ^ Бахмайер, Брандес и Шрайбер (2014).
  28. ^ «Graphviz и Dynagraph - инструменты для рисования статических и динамических графиков», написанные Джоном Эллсоном, Эмденом Р. Ганснером, Элефтериосом Куцофиосом, Стивеном С. Норт и Гордоном Вудхаллом в Юнгер и Мутцель (2004).
  29. ^ График Документация по системе Mathematica
  30. ^ Учебник по рисованию графиков
  31. ^ Нахмансон, Робертсон и Ли (2008).
  32. ^ Madden et al. (1996).
  33. ^ «Tulip - среда визуализации огромных графов», Дэвид Обер, в Юнгер и Мутцель (2004).
  34. ^ «yFiles - Визуализация и автоматическая компоновка графиков», Роланд Визе, Маркус Эйглспергер и Майкл Кауфманн, в Юнгер и Мутцель (2004).
  35. ^ Тантау (2013); см. также старшего Презентация GD 2012
Общие ссылки
Специализированные подтемы

внешняя ссылка