【问题标题】:graphviz: Create new node with this same labelgraphviz:使用相同的标签创建新节点
【发布时间】:2012-05-14 07:22:33
【问题描述】:

我开始使用 graphviz,但在创建具有相同标签的新节点时遇到问题。 例如,对于单词“句子”,我想创建具有 8 个节点的图形: s -> e -> n -> t -> e -> n -> c -> e 现在我收到的图形只有 5 个节点(一个“e”而不是 3,一个“n”而不是 2)。我需要创建更多具有相同标签(值)的节点。

我的问题示例可能是这张图片http://rdftwig.sourceforge.net/paper/diagrams/bfsdeep.png,其中有 2 个节点的值为“C”、“E”和“D”。

有可能吗?如果可能的话,我如何在我的示例中使用单词“sentence”第一个、第二个或第三个“e”节点访问?

【问题讨论】:

    标签: graphviz


    【解决方案1】:

    您可以明确定义您的节点并为它们设置标签。然后每个节点都有一个唯一的 id,但可以有相同的标签。考虑这个例子:

    strict graph G {
        1 [label="A"];
        2 [label="B"];
        3 [label="B"];
        4 [label="A"];
        1 -- 2;
        2 -- 3;
        3 -- 4;
    }
    

    将输出(dot):

    【讨论】:

    • 这对我有用,但它非常乏味。最好有一个像 repeatnode=false 这样的标志,所以当我们执行 a -> b b -> c c -> d d -> a 这样的操作时,它会自动创建一个新的 'a',
    • 这就是 dot 令人耳目一新的地方,它非常简单而且有效,我希望更多的技术能像 dot 一样工作......
    【解决方案2】:

    这听起来可能是连贯的,但只需在重复的字符末尾添加一个空格即可解决问题。

    【讨论】:

    • 这不是一个好主意。正如@maehler 所说,只需使用唯一的密钥即可。键供程序员使用,不显示在图表中。一个简单的空格是不可见的,也不容易记住或不言自明。
    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多