Graphviz:改变整个graphics的字体?

我想知道如果我可以为整个graphics定义一个替代字体。

... digraph script_concept { graph [layout="dot",fontname="helvetica"]; ... 

根据这1个较旧的post,字体名称属性可以分别定义:

节点和边缘不会inheritancegraphics的字体,您需要单独指定它们

有没有其他的方法,如何在全球范围内定义字体?

不,没有别的办法。

在链接的论坛post中,您必须在graphviz文件的开头分别定义默认值(如其他属性):

 digraph g { graph [fontname = "helvetica"]; node [fontname = "helvetica"]; edge [fontname = "helvetica"]; ... } 

不知道这是否是最近的更新,但可以使用-G-E-N属性标志在命令行级别更改这些更新。 也就是说,以下对我有用:

 $ dot -Tpng -Nfontname=Roboto -Nfontsize=10 \ -Efontname=Roboto -Efontsize=10 \ tree.dot > tree.png 

然而,有一个简单的窍门,如果你正在导出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