节点graphviz未生成预期的png文件

节点graphviz未生成预期的png文件,graphviz,Graphviz,我不熟悉node graphviz,它是graphviz绘图工具的node.js接口 我想绘制一个有向图,并使用以下代码将其保存到内存中: var graphviz = require('graphviz'); var debug = true; function draw (hbGraph) { /** Create the digraph */ var vGraph = graphviz.digraph('Happens-Before-Graph'), ev

我不熟悉node graphviz,它是graphviz绘图工具的node.js接口

我想绘制一个有向图,并使用以下代码将其保存到内存中:

var graphviz = require('graphviz');
var debug = true;

function draw (hbGraph) {
    /** Create the digraph */
    var vGraph = graphviz.digraph('Happens-Before-Graph'),
        eventNodes = {};

    /** Create nodes for digraph */

    for (var i = 0; i < hbGraph.eventNodes.length; i++) {
        /** Note, eventNodes is a sparse array */
        var event = hbGraph.eventNodes[i];
        if (event != undefined) {
            var node = vGraph.addNode(event.id, {
                'color': common.COLOR.GREY,
                'style': common.STYLE,
            });
            eventNodes[node.id] = node;
        }
    }

   /** Create edges for digraph, just ignore for this question */

   if (debug) {
        // Create digraph G
        var g = graphviz.digraph("G");

        // Add node (ID: Hello)
        var n1 = g.addNode( "Hello", {"color" : "blue"} );
        n1.set( "style", "filled" );

        // Add node (ID: World)
        g.addNode( "World" );

        // Add edge between the two nodes
        var e = g.addEdge( n1, "World" );
        e.set( "color", "red" );

        // Print the dot script
        console.log( g.to_dot() );

        // Set GraphViz path (if not in your path)
        g.setGraphVizPath( "/usr/local/bin" );
        // Generate a PNG output
        g.output( "png", "test01.png" );
    }

  console.log( vGraph.to_dot() );
  vGraph.setGraphVizPath( "/usr/local/bin" );
  vGraph.output('png', 'test02.png');
}
我想知道为什么不生成文件
test02.png
,以及如何生成它。有人能帮我吗? 另外,关于这个库的文档无法生成,所以我对它不熟悉。
附加信息:节点图的链接是

答案只是删除有向图中的减号
-

由于无法构建
节点图viz
的文档,我只在这里发布正确的答案。

调试上述代码时,我只运行代码创建节点,而不运行创建边缘的代码。为了生成png文件,我必须添加创建边缘的代码吗?非常好的是,给出了
to_dot
输出,这是问题中经常缺少的,它让不使用
Node.js的人也可以测试输出!!我在中运行了提到的输出,也没有得到一张图片,但我在有向图名称中看到了负号(
-
),当在下划线中更改这些负号或完全删除它们时,图像就会出现。另见@albert。你是对的。删除有向图名称中的减号
-
后,代码成功生成图片。很抱歉这么晚才回复,非常感谢!!!!!!
digraph Happens-Before-Graph {
  "1" [ color = "grey" ];
  "7" [ color = "grey" ];
  "8" [ color = "grey" ];
  "9" [ color = "grey" ];
  "10" [ color = "grey" ];
  "11" [ color = "grey" ];
  "12" [ color = "grey" ];
  "13" [ color = "grey" ];
  "14" [ color = "grey" ];
}