Graphviz - Инструмент для визуализации графов
[table 1 3 0]3^http://aspirantura.spb.ru/forum/pict...&pictureid=979 |
Внимание![BR]Автор темы совместно с Администрацией портала просит писать в эту тему только относящееся к Graphviz. Благодарности, разговоры о погоде, искромётный юмор будут безжалостно удаляться. Все "чмоки", пожалуйста, во флейме. Надеюсь на понимание. [/table]Пример дерева решений, построенного с помощью Graphviz. Использовалось для иллюстрации в теме. http://aspirantura.spb.ru/forum/pict...pictureid=1382 Код
1. Устанавливаем программу 2. Создаем файл test.dot Код:
digraph dtree { 3. В каталоге, где расположен файл запускаем команду dot test.dot -Tpng -o test.png 4. ... 5. PROFIT! Подробная инструкция на русском языке Если есть вопросы, готов попробовать ответить. |
Можно же оформить примерно так:
Graphviz — это разработанный специалистами лаборатории AT&T пакет утилит по автоматической визуализации графов, заданных в виде текстового описания. Пакет распространяется с открытыми исходными файлами и работает на всех операционных системах, включая Windows, Linux/Unix, Mac OS. Самой интересной программой пакета является «dot», автоматический визуализатор направленных графов, который принимает на вход текстовый файл со структурой графа, а на выходе формирует граф в виде графического, векторного или текстового файла. Ситуация: человек встречает змею и варианты развития событий представлены на блок-схеме по теории вероятности. А вы что написали? |
Цитата:
|
Вложений: 1
Котова, у каждой темы есть цель. Цель этой темы -- дать представление об инструменте визуализации графов, а не решение задач про змей и детей. Копипастить википедию мне не интересно, Вы вот сходили по ссылке, не обломались и поняли, что это и с чем это едят.
На самом деле, очень многие вещи нарисовать таким образом гораздо проще, чем мышкой в графическом редакторе, а учитывая, что среди результирующих форматов есть SVG, то картина становится вообще радостная. Я использовал этот пакет для иллюстраций к статьям и диссертациям. Мой младенец рисовал топологию сети по курсовику. Но я сильно глубоко внутрь, как в GNU R, не залазил, поскольку задачки решал локальные. Поэтому и написал, что попробую ответить. А компетенции... Компетенции дело наживное, когда то их вообще не было и если только ими ограничиваться, то скоро кота кормить не на что будет. Во вложении другой вариант того же графа, он сделан горизонтально и ранжирован. Код
Код:
digraph dtree {rankdir=LR; |
Hogfather маленько про синтаксисы поясните)
|
Цитата:
Нужно представить, что хочешь нарисовать и нарисовать, связав вершины с помощью стрелочек, как показано ниже. Для этого запускаем программу gvedit из папки Graphviz в меню пуск. В окно копируем текст Код:
digraph G{ http://aspirantura.spb.ru/forum/pict...pictureid=1385 Дальше лучше попробовать прочитать краткое описание по ссылке, там есть про синтаксис, и попробовать решить свою задачу, если он не будет получаться, то задать вопрос. Если вершина будет словосочетанием, то заключаем название в двойные кавычки: "Типа, вершина 1"->"Типа, вершина 2". Если нужно сделать перенос строк, то используем спецсимвол переноса строки "\n". Он используется, если внимательно посмотреть, в примере с детьми и змеями. Будет что-то вида "Типа\nвершина 1". Можно вершинам присваивать имена, а текст задавать в квадратных скобках, как атрибут label. В вышеприведенном примере есть, например Код:
snake [label="Встретили змею?", style=filled, fillcolor=antiquewhite;shape=ellipse]; Далее, внизу мы уже рисуем связи и задаём ребра графа. Код:
snake -> snakeNo [arrowhead=none]; Где-то так. Есть ложка дёгтя. Эта чудо-программа не понимает русские имена в каталогах и файлах, поэтому рекомендую создать папку с именем на английском языке в корне диска и там уже резвиться. Настройки по формату выходного файла можно получить нажав на пиктограмму мужика, бегущего с документом (вторая справа). Либо, как я, пользоваться командной строкой для запуска парсера, тогда всё равно, где находятся файлы. Еще одно описание, в котором , в частности, рассказывается про то, как сделать перенос строк и разные цвета в метке узла. Введение в GraphViz |
Маршрутизатор в Graphviz
Как создать маршрутизатор межу двумя любыми узлами?
Как выделить все вышестоящие узлы с ребрами, идущими от заданного узла? Как выделить все нижестоящие узлы с ребрами, идущими от заданного узла? Можно ли его создать, используя возможности самой программы DOT, или надо привлекать другие языки и программные средства? |
Текущее время: 14:09. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2024, «Аспирантура. Портал аспирантов»