LINUX.ORG.RU

Graphviz


0

0


Graphviz -- крутая вещь, позволяющая визуализировать всё что угодно, если только это что-то можно представить в виде графа.

В новой статье на developerWorks от IBM рассказывается о том, как Graphviz может помочь при визуализации вызовов функций.

>>> Visualize function calls with Graphviz



Проверено: Shaman007 ()

Re: Graphviz

интересная статья, спасибо

nsav ()

Re: Graphviz

Это случайно, не та программа, которую Bugzilla использует для рисования дерева зависимостей?

Android ()

Re: Graphviz

Скоро будем программы мышой рисовать

anonymous ()
Ответ на: Re: Graphviz от anonymous

Re: Graphviz

Класс, спасибо =)

ManJak ★★★★★ ()

Re: Graphviz

Сколько не мучался, так и не смог по русски без кракозябликов написать. Может кто знает, что делать?

anonymous ()

Re: Graphviz

очень удобно, не надо код засорять записью отладочной информации. хорошая тулза.

fashist ()
Ответ на: Re: Graphviz от anonymous

Re: Graphviz

>Сколько не мучался, так и не смог по русски без кракозябликов написать

В UTF-8 писать нужно. И шрифт соответствующий указать, например: 'fontname="arial"'.

kaaos ()
Ответ на: Re: Graphviz от Android

Re: Graphviz

> Это случайно, не та программа, которую Bugzilla использует для рисования дерева зависимостей?

Скорее всего та самая, т.к. похожие картинки с помощью graphviz рисуют в doxygen.

Esh ★★★★ ()

Re: Graphviz

Новое это хорошо забытое старое :) Проге наверное лет около десяти. Но полезность ее это не уменьшает никаки.

offtopic: Для виндузятников есть Wingraphiz и его можно чутьли не из VBScript пользовать.

zZzZ ()
Ответ на: Re: Graphviz от zZzZ

Re: Graphviz

Под Mac OS X тоже есть реализация graphviz, от pixelglow (http://www.pixelglow.com/graphviz/), кстати получившая в 2004 Apple Design Awards.

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

В сочетании с Perl'ом прекрасный инструмент для анализа и визуализации практически любой информации.

При визуализации граф может быть представлен как иерархические (dot), так и по алгоритму минимизации энергии (energy minimized), когда узлы располагаются максимально компактно, насколько это возможно не нарушая наглядность (neato).

Она поддерживает множество выходных форматов, в частности png и ps. (кстати, у кого проблемы с визуализацией русского, проверьте, сохраняется ли проблема во всех форматах или присутствует только в некоторых).

И ещё она стыкуется с Web. Сделать так чтобы кликанье по узлам графа переводило на соответствующие линки элементарно. Кстати, по-моему где-то на graphviz.org есть пример того, как построить карту сайта в два счёта.

devigor ()
Ответ на: Re: Graphviz от PETER

Re: Graphviz

Да, вопрос, с ее помошью можно нарисовать генеалогическое дерево?

Трабла в том, что должно быть:

г   A   B
о    \ /
д     C    E
ы      \  /
         G

Т.е., как мне обяснили зависимости бываю СЛОЖНЕЙШИЕ!

ManJak ★★★★★ ()
Ответ на: Re: Graphviz от ManJak

Re: Graphviz

Можно. Надо использовать приоритеты узлов. В примерах к программе есть подобные графы (в т.ч. генеалогическое дерево unix).

anonymous ()
Ответ на: Re: Graphviz от anonymous

Re: Graphviz

Пасиб, пошел бороздить прсторы Большого театра, сорри - интернета =)

ManJak ★★★★★ ()
Ответ на: Re: Graphviz от ManJak

Re: Graphviz

Это сделать элементарно.

Граф, который ты нарисовал описывается так:

graph G_Tree {
   A -- C;
   B -- C;
   C -- G;
   E -- G;
}

Для визуализации используй dot, а не neato.

А по поводу сложнейших зависимостей,
если эти зависимости можно представить в виде
направленного или ненаправленного графа, 
graphviz с этим легко справится

devigor ()

Как всё-таки по-разному звучит...

$(subj)

>позволяющая визуализировать графы.

и

>позволяющая визуализировать всё что угодно, если только это что-то можно представить в виде графа.

Dimentiy ★★ ()
Ответ на: Re: Как всё-таки по-разному звучит... от devigor

Re: Как всё-таки по-разному звучит...

Вот например, таксономию свободного программного обеспечения мы можем представить в виде графа? Можем.

Пример визуализации этого графа с помощью graphviz смотрите здесь: http://fm-trove-graph.narod.ru/photoalbum.html

Извините, что так долго загружается. Под рукой не было ничего куда можно было бы выложить.

А программа для визуализации очень простая. Пишется быстрее, чем с народа.ру будет загружаться картинка

devigor ()

Re: Graphviz

ААА! Как кстати! Это прямо то что мне сейчас нужно (это я про graphviz)

CrazyPit ★★★ ()
Ответ на: Re: Graphviz от anonymous

Re: Graphviz

> Сколько не мучался, так и не смог по русски без кракозябликов написать. Может кто знает, что делать?

Вывод надо делать в UTF-8, после чего по--моему все растровые форматы будут показывать текст нормально, НО! из векторных у меня только SVG нормально выводит русский. Из Inkscape я уже делаю ps...

inkscape --print="> $2" -f $1

anonymous ()
Ответ на: Re: Graphviz от devigor

Re: Graphviz

Это я понял, уже почти сутки эксперементирую и читаю, трабла в том,
что не представляю, как слева (справа) сделать ось времени и привязывать почки или как их там, этого долбаного дерева, к  
оси времени!

Это, в принципе, возможно?



|
-   Событие 1  Событие2
|
-          Событие 4
|
-
|
-        Событие n
|
-
|

Само дерево-то нарисовать не проблемма =)
Просто, как мне показали, оно должно не просто строить зависимости,
но еще и по времени вертикальная ось.

Во как, пока не придумал сам =)

ManJak ★★★★★ ()
Ответ на: Re: Graphviz от ManJak

Re: Graphviz

Пример по твоему вопросу есть прямо в документации к graphviz. В файле dot.png есть пример по иерархии Unix-систем с привязкой ко времени.

Нашёл?

devigor ()
Ответ на: Re: Graphviz от ManJak

Re: Graphviz

И в документации по xvcg есть нужный тебе пример

anonymous ()
Ответ на: Re: Graphviz от ManJak

Re: Graphviz

Страница 18 документации по dot.

Всё делается с помощью rank.
Если ты хочешь, чтобы два узла, скажем A и B выводились на одном уровне, просто в описании графа указываешь:

{rank = same; A; B; }

и всё.

devigor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.