节点graphviz未生成预期的png文件
我不熟悉node graphviz,它是graphviz绘图工具的node.js接口 我想绘制一个有向图,并使用以下代码将其保存到内存中:节点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
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" ];
}