【问题标题】:Graphviz: how to set 'default' arrow style?Graphviz:如何设置“默认”箭头样式?
【发布时间】:2011-05-29 16:49:31
【问题描述】:

考虑一下dot 语言代码:

digraph graphname {
    subgraph clusterA {
        node [shape=plaintext,style=filled];
        1 -> 2 [arrowhead=normal,arrowtail=dot];
        2 -> 3 -> X2 -> 5;
        6;
        7;
        label = "A";
        color=blue
    }
}

在上面的例子中,只有1 -> 2 连接会应用arrowhead=normal,arrowtail=dot 样式;所有其他箭头将采用“默认”样式。

我的问题是 - 如何设置箭头样式(对于整个子图 - 或整个图),而不必在每个边连接旁边复制粘贴“[arrowhead=normal,arrowtail=dot];”?

编辑:仅供参考 - answer from Jesse 不包含任何代码;我写了那个 sn-p 并把它放在这个空间里——不知什么原因,一位版主从这里剪掉了它,并将它粘贴到 Jesse 的答案中。

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:

    使用 edge 属性语句,如DOT Language documentation 中所述。

    digraph graphname {
        subgraph clusterA {
            node [shape=plaintext,style=filled];
            edge [arrowhead=normal,arrowtail=dot];
            1 -> 2 ;
            2 -> 3 -> X2 -> 5;
            6;
            7;
            label = "A";
            color=blue
        }
    }
    

    【讨论】:

    • 太棒了 - 谢谢你的回答,@JesseW - 接受参考 :) 顺便说一句,我刚刚被发现 doxygen - how to change default font size for graphviz? - Stack Overflow 这也几乎解释了相同的 :)
    • 请注意:您也可以在命令行上执行此操作(即,无需修改 DOT 文件),方法是添加像 -Earrowtail=dot 这样的命令行参数。更一般地,-E 用于设置默认 edge 属性,-N 用于设置默认 node 属性,-G 用于设置默认 graph属性。
    【解决方案2】:

    就像您对节点所做的那样,但使​​用 edge,例如edge[style=dashed]

    【讨论】:

    • 也感谢您的快速回答,@Fabian Steeg - 接受了@JesseW 的链接原因:) 干杯!
    猜你喜欢
    • 2018-03-15
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2015-09-02
    • 2020-03-15
    • 1970-01-01
    • 2019-03-29
    相关资源
    最近更新 更多