Graphviz: изменить шрифт для всего графика?
Мне интересно, могу ли я определить альтернативный шрифт для всего графика.
...
digraph script_concept {
graph [layout="dot",fontname="helvetica"];
...
В соответствии с этим 1 старшим постом атрибут fontname может быть определен только отдельно:
Узлы и ребра не наследуют шрифт графа, вам нужно указать их отдельно
Есть ли другой способ, как определить шрифт глобально?
Ответы
Ответ 1
Нет, другого пути нет.
Как и в сообщении на форуме, которое вы связали, вы должны определить значения по умолчанию отдельно (например, другие атрибуты) в начале файла graphviz:
digraph g {
graph [fontname = "helvetica"];
node [fontname = "helvetica"];
edge [fontname = "helvetica"];
...
}
Ответ 2
Не уверен, что это последнее обновление, но вы можете изменить их на уровне командной строки, используя флаги атрибутов -G
, -E
и -N
. То есть для меня работает следующее:
$ dot -Tpng -Nfontname=Roboto -Nfontsize=10 \
-Efontname=Roboto -Efontsize=10 \
tree.dot > tree.png
Ответ 3
Однако, есть один простой трюк, если вы экспортируете svgs:
sed 's/Times,serif/Helvetica/g' thegraph.svg > thegraph_helvetica.svg
объедините это с Make и весь ужас будет скрыт:)
здесь пример Makefile:
all: helvetica
svg:
cat thegraph.dot | dot -Tsvg > thegraph.svg
helvetica: svg
sed 's/Times,serif/Helvetica/g' thegraph.svg > thegraph_helvetica.svg