2012-04-28 59 views
1

我对如何读/写igraph的Python模块感到十分困惑。我想要现在的问题是:igraph for python

g = igraph.read("football.gml") 
g.write_svg("football.svg", g.layout_circle()) 

我有一个football.gml文件,此代码运行并写了一个名为football.svg文件。但是当我尝试使用InkScape打开它时,我收到一条错误消息,指出无法加载文件。这是编写代码的正确方法吗?可能会出现什么问题?

+0

它正确读取gml文件吗?阅读football.gml后,“g”是什么? – Chris 2012-04-28 21:39:28

回答

2

write_svg函数是不赞成的;它只是作为一种简单的手段来允许从igraph SVG导出,即使你没有Python的开罗模块。它没有被保留一段时间,所以它可能是你遇到错误的情况。

如果您对Python的开罗模块(在大多数Linux系统,你可以简单地从适当的包安装),你可以简单地这样做:

igraph.plot(g, "football.svg", layout="circle") 

这将利用开罗的SVG渲染器很可能会产生正确的结果。如果由于某种原因您无法安装Python的开罗模块,请提交关于https://bugs.launchpad.net/igraph的错误报告,以便我们查看此信息。

(甚至更好,即使您使用igraph.plot设法使其工作,请提交错误报告)。

0

几年后,但也许这对别人有帮助。

write_svg函数似乎不是正确地逃避&符号。德克萨斯州A & M在其标签中有&符号 - InkScape可能会感到困惑,因为它看起来&而不是&。只需在文本编辑器中打开football.svg即可解决该问题,而且您应该是金手指!