Grahviz Neato“无法创建Cairo表面”的故障

3

我收到了这个错误:

>neato house.dot -Tgif -o house2.gif -Tdot -o x.dot
neato: failure to create cairo surface: out of memory

>neato -V
neato - graphviz version 2.28.0 (20110507.0327)

我有很多内存 - 大约有5个G的可用空间。

这是house.dot文件。

graph g {
node [shape=box]
north [ pos = "286.0,370.0!" ];
Vestibulo -- Escalera
Sala -- Vestibulo
Comedor -- Sala
CocServ -- Comedor
DormP -- BanoP
DormH -- Bano
Sala -- Bano
Sala -- DormP
CocServ -- north
}

如果我取消固定“北”节点,那么neato会在没有错误的情况下完成——但是北方不在我想要的位置。
我已经升级到graphviz 2.30.1版本——仍然存在同样的问题。
2个回答

2
dot -Tsvg 99winsert.gv -v > out.svg

您可以尝试将图像转换为SVG而非PNG格式,然后在Chrome中浏览它或将其转换为PNG。这样做不会因为分配了过多的内存而失败。

创建cairo表面失败:内存不足

enter image description here


0
解决方法是使用较小的值来固定位置。
像这样:

graph g {
node [shape=box]
north [ pos = "1.0,10.0!" ];
south [ pos = "1.0,-10.0!" ];
east [ pos = "-10.0,0.0!" ];
west [ pos = "10.0,0.0!" ];
Vestibulo -- Escalera
Sala -- Vestibulo
Comedor -- Sala
CocServ -- Comedor
DormP -- BanoP
DormH -- Bano
Sala -- Bano
Sala -- DormP
CocServ -- north
}

这将产生以下结果

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接