Отображать метки в соответствии с краем при использовании Graphviz
Я использую Graphviz 2.30. Горизонтальное позиционирование для этикеток работает, но в некоторых случаях желателен измененный угол.
Например, я пробовал различные значения для угла здесь, но без какого-либо эффекта:
ABB -> ABACUS[label="applied", fontname="Arial", fontsize=15, labelangle=110];
Как я могу отображать метки в соответствии с (например, параллельно) грани при использовании Graphviz digraph
.
Целый digraph
не будет отправлен из-за NDA. Кроме того, вращение будет применяться только к нескольким меткам.
Я прочитал похожие темы, такие как this или another (или поток о выравнивании, например), но без какой-либо помощи в отношении моей проблемы.
Ответы
Ответ 1
Используя dot2latex, вы можете указать lblstyle
. Значение lblstyle
используется PGF/TikZ в формате pdf.
Можно указать параллельные метки следующим образом:
digraph G {
edge [lblstyle="above, sloped"];
a -> b [label="ab"];
b -> c [label="bc"];
c -> a [label="ca"];
}
Чтобы создать PDF
$ dot2tex --tikzedgelabel file.dot > file.tex
$ pdflatex file.tex
Результат
![введите описание изображения здесь]()
Ответ 2
Изменить: в другом ответе найден вариант, который теперь существует для выравнивания текста с ребрами.
Ваш лучший вариант - экспортировать график как SVG
и использовать Illustrator
или Inkscape
для его тонкой настройки. Это практично только при создании нескольких графиков.
Мне часто приходится настраивать выходные данные из Graphviz
и Gephi
; они дают мне хорошую отправную точку.