如何检查Graphviz Python中是否已存在节点

时间:2017-11-16 07:30:08

标签: python graphviz dot

如何检查图表中是否已存在特定节点。

这是我尝试过的。

function prepareFile (fs, compiler, outname) {
  var path = fs.join(compiler.outputPath, outname);
  if (path.indexOf('?') !== -1) {
    path = path.split('?')[0];
  }

  var contents = fs.readFileSync(path);

  var file = new File({
    base: compiler.outputPath,
    path: nodePath.join(compiler.outputPath, outname),
    contents: contents
  });
  return file;
}

正如我们在此处看到的,我无法直接检查节点。

我正在寻找一种方法来检查节点是否已被访问/创建过,如果访问该节点,则将其 xlabel 增加1。

有没有办法在graphviz中遍历和访问每个节点,或者我是否必须编写单独的代码来检查特定节点是否存在?

2 个答案:

答案 0 :(得分:0)

显然,.body属性包含一个列表,其中节点的前缀为tab。您应该做些什么:

>>>print('\tsolid' in dot.body)

True

答案 1 :(得分:0)

在2020年为我工作的方法是:

if '\tsolid' in dot.source:
    # Here you need to get the line number and know the real xlabel
    dot.body[line_number] = '\tsolid [xlabel='+str(real_xlabel)+']'