Graphviz:更改整个图形的字体?

时间:2012-06-04 09:30:32

标签: graphviz

我想知道我是否可以为整个图形定义替代字体。

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

根据此1旧帖子,fontname属性只能单独定义:

  

节点和边缘不会继承图形的字体,您需要指定   他们分开了

还有其他方法,如何全局定义字体?

3 个答案:

答案 0 :(得分:84)

不,没有别的办法。

与您链接的论坛帖子一样,您必须在graphviz文件的开头单独定义默认值(如其他属性):

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

答案 1 :(得分:9)

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

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

答案 2 :(得分:0)

但是,如果您要导出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