graphviz:使用相同的标签创建新节点

graphviz:使用相同的标签创建新节点,graphviz,Graphviz,我开始使用graphviz,但在创建具有相同标签的新节点时遇到问题。 例如,对于单词“句子”,我想创建具有8个节点的图形: s->e->n->t->e->n->c->e 现在我接收到的图只有5个节点(一个“e”而不是3个,一个“n”而不是2个)。我需要创建更多具有相同标签(值)的节点 我的问题的例子可能是这个图像,其中有两个值为“C”、“E”和“D”的节点 可能吗?如果可能,在我的示例中如何使用单词“句子”访问第一、第二或第三个“e”节点?您可以明确定义节点并为其设置标签。然后每个节点都有一个唯

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

我的问题的例子可能是这个图像,其中有两个值为“C”、“E”和“D”的节点


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

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

strict graph G {
    1 [label="A"];
    2 [label="B"];
    3 [label="B"];
    4 [label="A"];
    1 -- 2;
    2 -- 3;
    3 -- 4;
}
将输出(带有
):


这听起来像是有线的,但只要在重复的字符末尾加上一个空格就可以解决问题。

这对我来说很有效,但非常乏味。如果有一个像repeatnode=false这样的标志就好了,所以当我们做一些像a->b->c->d->a这样的事情时,它会自动创建一个新的“a”,这就是dot令人耳目一新的地方,它非常简单而且有效,我希望更多的技术能像dot一样工作……这不是一个好主意。相反,正如@maehler所说,只需使用唯一的密钥即可。这些键是给程序员的,不显示在图形中。一个简单的空白是不可见的,也不容易记住或自解释的。