【问题标题】:Graphviz: change font for the whole graph?Graphviz:更改整个图形的字体?
【发布时间】:2012-06-08 09:31:34
【问题描述】:

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

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

根据这个1较早的帖子,字体名称属性只能单独定义:

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

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

【问题讨论】:

    标签: graphviz


    【解决方案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】:

        但是,如果您要导出 svg,有一个简单的技巧:

        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
        

        【讨论】:

        • 但这不会根据渲染文本的大小进行布局
        猜你喜欢
        • 1970-01-01
        • 2015-02-25
        • 2010-12-28
        • 1970-01-01
        • 2017-11-27
        • 2021-10-23
        • 2014-08-17
        • 2020-12-02
        相关资源
        最近更新 更多