我对如何读取/写入 igraph 的 Python 模块感到非常困惑。我现在正在尝试的是:
g = igraph.read("football.gml")
g.write_svg("football.svg", g.layout_circle() )
我有一个 football.gml 文件,这段代码运行并编写了一个名为 football.svg 的文件。但是当我尝试使用 InkScape 打开它时,我收到一条错误消息,指出无法加载文件。这是编写代码的正确方法吗?可能出了什么问题?
我对如何读取/写入 igraph 的 Python 模块感到非常困惑。我现在正在尝试的是:
g = igraph.read("football.gml")
g.write_svg("football.svg", g.layout_circle() )
我有一个 football.gml 文件,这段代码运行并编写了一个名为 football.svg 的文件。但是当我尝试使用 InkScape 打开它时,我收到一条错误消息,指出无法加载文件。这是编写代码的正确方法吗?可能出了什么问题?
该write_svg
功能已被弃用;即使您没有适用于 Python 的 Cairo 模块,它也只是作为一种允许从 igraph 导出 SVG 的快速技巧。它已经有一段时间没有维护了,所以你可能遇到了一个错误。
如果你有 Python 的 Cairo 模块(在大多数 Linux 系统上,你可以简单地从适当的包中安装它),你可以简单地这样做:
igraph.plot(g, "football.svg", layout="circle")
这将使用 Cairo 的 SVG 渲染器,它可能会生成正确的结果。如果由于某种原因无法为 Python 安装 Cairo 模块,请在https://bugs.launchpad.net/igraph上提交错误报告,以便我们进行调查。
(更好的是,即使您设法使用 使其工作,也请提交错误报告igraph.plot
)。
晚了几年,但也许这会对某人有所帮助。
该write_svg
函数似乎无法正确转义 & 符号。Texas A&M 在其标签中有一个 & 符号 - InkScape 可能会因为它看到&
而不是看到而感到困惑&
。只需football.svg
在文本编辑器中打开来修复它,你就应该是金子了!