Макет, который генерирует Graphviz, основан на глобальной структуре - любое добавление может кардинально изменить вывод (если вы не используете фиксированные координаты, в этом случае вы, вероятно, не зададите этот вопрос). По сути, если вы хотите автоматическое размещение элементов, вам нужно принять одно из следующих решений:
- При размещении нового элемента физическое моделирование запускается в режиме реального времени, в результате чего узлы дико подпрыгивают, пока они не осядут на своих новых местах. Это будет медленно, но покажет "приятные" изменения.
- Когда помещается новый элемент, весь график перерисовывается (физика / все, что скрыто, но все это изменяется). Это будет быстрее из-за отсутствия необходимости перерисовки, но относительные местоположения узлов могут быть совершенно разными.
- При размещении нового элемента существующие элементы не изменяются. После достаточного количества динамических обновлений ваш график будет выглядеть как дерьмо, потому что автоматическое размещение является глобальной проблемой оптимизации.
Извините, я не могу помочь с вашим вопросом, но, возможно, это помогает объяснить, почему то, что вы ищете, может просто не существовать (или быть хорошим).