Как разместить метки края на краю в graphviz

По умолчанию в Graphviz граничные метки располагаются справа от края. Я ищу способ разместить этикетки поверх края, в центре по краю. (Это будет по-прежнему читаемым, потому что я меняю цвет края).

Любые идеи?

Ответ 1

Если это было хедлайнером или taillabel, вы можете попробовать установить labeldistance на ноль, чтобы заставить ярлык рисоваться по краю, но, как я понимаю, вы имеете в виду маркер края (тот, который находится на середине края). В документации достаточно четко указано, что labeldistance влияет только на метки заголовка и метки, но вы можете испытать удачу.

Еще одна вещь, которую вы можете попробовать - сделать прозрачным, промежуточным node с меткой на нем. Это может выглядеть так, как вы хотите... Но если вы сильно полагаетесь на алгоритм размещения node, было бы неприемлемо создавать эти "искусственные" узлы. В этом случае я рекомендую вам присоединиться к разработчикам Graphviz и добавить необходимую вам функцию;) Серьезно, это очень приятно.

Если вы найдете другое решение, отправьте его. В ближайшем будущем я столкнусь с аналогичной проблемой.

Ответ 2

Рассмотрим добавление нескольких пробелов после вашего ярлыка. Таким образом, вы избегаете совпадения с вашей красной стрелкой, поскольку метки Graphviz выровнены по правому краю. Это не элегантное решение, и мне бы хотелось увидеть правильное выравнивание ярлыков, но оно может решить вашу проблему.