Как мне показать только некоторые узлы (ребра) на graphviz, а не другие

У меня очень сложный график, и я никак не могу его все показать и понять. Мне нужно сделать упрощенные версии, показывающие только некоторые узлы, а не другие. Я не просто хочу, чтобы остальные узлы были невидимы, а действительно отсутствовали (чтобы граф был упрощен).

Решением было бы сделать график только с несколькими слоями. Но возможно ли это? Какие еще есть варианты?

Спасибо, Пьетро


person Pietro Speroni    schedule 20.04.2010    source источник


Ответы (1)


Я нашел возможное решение. Он использует gvpr, который уже установлен, если у вас есть graphviz (по крайней мере, он был на моей машине).

Вы можете настроить gvpr для чтения файла .dot, следовать некоторым инструкциям и создать другой файл .dot.

Поэтому я добавил свойство "tag="TAGfoo TAGgoo TAGsoo". Вероятно, есть лучшие способы, но, поскольку мне нужно использовать регулярное выражение, это работает достаточно хорошо.

Затем команда:

gvpr  -i 'N[tag=="(*TAGfoo*|*TAGgoo*)"]'  filesource.dot >fileproduced.dot

возьмет все и только те узлы, у которых есть TAGfoo или TAGgoo.

Его можно было бы сделать чище.

person Community    schedule 17.05.2010