![](https://habrastorage.org/getpro/habr/upload_files/8b8/444/82e/8b844482eafd3e0bff92e16c445053b5.png)
Прежде чем определиться с выбором раскладки вашего графа, нужно понять какие цели вы преследуете, когда строите его и что именно вы хотите проанализировать и показать.
Впечатление, которое производит ваш граф, может значительно отличаться в зависимости от выбранного алгоритма. Вы должны понимать, что окончательный выбор может стать очевидным только после экспериментов и визуальной оценки. Он должен соответствовать как вашим данным, так и цели построения графа. Здесь нет абсолютно правильных или неправильных ответов: часть решения будет принята субъективно, исходя из вашего собственного визуального суждения.
Рассмотрите свои варианты с точки зрения целостности. Конечная цель создать граф, который не только понятен, но и позволяет рассказать убедительную историю. Если при достижении этих целей макет выглядит впечатляюще, даже лучше! Однако любое прочтение литературы и поиск в интернете быстро покажет, что многие графы выглядят впечатляюще, но не передают смысла данных, и они настолько плотны, что их невозможно прочитать. Не становитесь жертвой создания, чего-то впечатляющего, ради красивой картинки - всегда помните, что вы используете средство просмотра графов, и делаете все возможное, чтобы показать данные чётко. Теперь, когда мы определили приоритеты, мы можем перейти к рассмотрению различных компоновок Gephi.
Для демонстрации настроек раскладок будем использовать данные о переводах пользователей трёх различных банков.
![Граф переводов пользователей трёх различных банков Граф переводов пользователей трёх различных банков](https://habrastorage.org/getpro/habr/upload_files/27c/5cf/4b9/27c5cf4b92aaf2a01ef0c5277b7908bc.png)
Force Atlas — это классический силовой подход, использующий принципы отталкивания,
притяжения и гравитации для обеспечения высокой степени точности как для малых наборов данных, так и для довольно больших. Эта точность достигается за счет скорости, Force Атлас — один из самых медленных методов компоновки в Gephi. К счастью, можно остановить построение графа до завершения, если вы чувствуете, что результаты не те, что вы задумали. Вот краткие обзоры нескольких параметров, которые помогут вам создать эффективный граф.
Сила отталкивания — это мера, позволяющая определить, насколько сильно каждый узел будет отталкивать другие узлы. Выставленный на высокие значения, этот параметр создаёт график с большим интервалом между узлами. Его можно использовать вместе с противоположным эффектом притяжения. Большие значения параметра сила притяжения сблизит соединенные узлы, что создаст сеть, которая потенциально более кластеризована. Конечно, в зависимости от лежащего в основе
набора данных. Если ваша цель - создать граф, зависящий от изолированной
группы внутри сети, то высокая сила притяжения в сочетании с высокой
силой отталкивания может помочь нам добиться этого результата. Для наглядности так же можно задать размеры узлов в зависимости от исходящих рёбер.
![Результат применения Force Atlas. Сила отталкивания 20000. Результат применения Force Atlas. Сила отталкивания 20000.](https://habrastorage.org/getpro/habr/upload_files/dbd/1ca/adc/dbd1caadcb4005d4c047f892d15521b1.png)
Еще одна полезная функция, особенно когда важны размеры узлов - это флажок «Учитывать размер». Этот переключатель помогает алгоритму избегать перекрытия узлов или, наоборот, не брать в расчёт размер узла. Это очень полезно, когда у нас есть сеть с большими узлами, которые могут легко закрыть более мелкие узлы.
![Результат применения настройки «Учитывать размер» Результат применения настройки «Учитывать размер»](https://habrastorage.org/getpro/habr/upload_files/dcb/31b/de8/dcb31bde8c0a162cc154c19286617b9e.png)
При большем значении гравитации узлы будут рисоваться ближе к центру графа, предотвращая разброс по периметру, в то время как меньшие значения могут помочь расширить граф в случаях, когда в центре сети существует чрезмерная скученность.
![Результат применения настройки «Гравитация». Значение гравитации 30000. Результат применения настройки «Гравитация». Значение гравитации 30000.](https://habrastorage.org/getpro/habr/upload_files/6d2/6a6/f94/6d26a6f946b6f5523e535b8988ce312f.png)
Еще одна возможность - расположить крупные узлы подальше от центра графа с помощью флажка «Ослабление хабов». Когда установлен флажок "Да", алгоритм будет иметь тенденцию отодвигать крупные узлы от центра сети, обеспечивая несколько иную перспективу, чем традиционные макеты.
![Результат применения настройки «Ослабление хабов» Результат применения настройки «Ослабление хабов»](https://habrastorage.org/getpro/habr/upload_files/449/4ee/d93/4494eed93b1fd2ab19872d5c752a3220.png)
Наконец, функция скорости. Высокая скорость понижает точность построения так что вам нужно найти компромисс, который будет зависеть от характера и
сложности вашей сети.
Force Atlas 2 - это более быстрая, обновленная версия Force Atlas. Здесь также можно настроить число потоков, что позволит вам воспользоваться преимуществами
многоядерной обработки и даст вам большую мощность для построения макета. Значение по умолчанию - 2, но, очевидно, оно может быть увеличено в зависимости от возможностей вашей локальной машины.
Задать расстояние между узлами здесь можно с помощью настройки «Разреженность».
![Результат применения Force Atlas 2. Разреженность 200. Результат применения Force Atlas 2. Разреженность 200.](https://habrastorage.org/getpro/habr/upload_files/e3c/813/cbe/e3c813cbefb29f63c3bef88da14998d1.png)
Аналогом параметра «Учитывать размер» здесь будет параметр «Запрет перекрытия» можно использовать, чтобы более крупные узлы не перекрывали другие компоненты в сети.
Еще один интересный вариант — использовать настройку «Влияние весов рёбер» для управления внешним видом вашей сети. Значение 1.0 соответствует нормальному влиянию, а значение 0 сообщает алгоритму, чтобы он вообще не ссылался на веса ребер при вычислении компоновки.
Уровни выше единицы будут все больше зависеть от веса ребер, в результате чего в сильно связанные узлы, будут ближе друг к другу.
![Результат применения настроек «Запрет перекрытия» и «Влияние весов рёбер» Результат применения настроек «Запрет перекрытия» и «Влияние весов рёбер»](https://habrastorage.org/getpro/habr/upload_files/06d/23f/8a3/06d23f8a3dd98679d75b5f51e2972935.png)
Мы упоминали во введении к этому методу, что явные уровни отталкивания
указывается с помощью функции «Устойчивость». Как и все настройки отталкивания, высокие уровни создадут более разреженный граф с большим интервалом между узлами.
Как и в большинстве макетов, ориентированных на силу, Force Atlas 2 содержит опцию «Гравитация», которая дает пользователям возможность тянуть узлы к центру графа (через более высокие настройки) или отодвигать их от центра, когда требуется лучшая видимость в центре сети. В сочетании с настройкой «Влияние весов рёбер» она позволяет отдельно выделить узлы с сильной связью.
![Результат применения настроек «Гравитация» и «Влияние весов рёбер» Результат применения настроек «Гравитация» и «Влияние весов рёбер»](https://habrastorage.org/getpro/habr/upload_files/b3c/14f/a36/b3c14fa36b00fa6dcc2294500159c5e6.png)
В качестве ещё одного примера, рассмотрим граф просмотра сотрудниками клиентов, в разрезе отделов. Так как набор данных был большого объёма, и требовалась большая скорость обработки, была использована укладка Force Atlas2. Для ускорения обработки, процесс был запущен на 4-х ядрах. Был установлен запрет перекрытий и выставлена высокая разжененность. Так же, для наглядности, было выставлено ослабление хабов.
![Граф просмотра сотрудниками клиентов Граф просмотра сотрудниками клиентов](https://habrastorage.org/getpro/habr/upload_files/f04/3e1/ab9/f043e1ab932d993bf4c80e6855d2029a.png)
Главное отличие рассмотренных методов укладки – скорость работы. Однако, другие настройки могут так же повлиять на ваш выбор. Но любое ваше решение должно быть принято в зависимости от вашей задачи.