1

igraph の Python モジュールを読み書きする方法について完全に混乱しています。私が今しようとしているのは:

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

Football.gml ファイルがあり、このコードが実行され、football.svg というファイルが書き込まれます。しかし、InkScape を使用して開こうとすると、ファイルを読み込めないというエラー メッセージが表示されます。これは正しいコードの書き方ですか? 何がうまくいかないのですか?

4

2 に答える 2

2

この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)。

于 2012-04-29T11:44:36.887 に答える
0

数年遅れていますが、これは誰かの役に立つかもしれません。

関数はwrite_svgアンパサンドを正しくエスケープしていないようです。テキサス A&M のラベルにはアンパサンドが含まれています。InkScape はおそらく混乱してい&ます&。それを修正するためにテキストエディタで開くだけfootball.svgで、あなたは金色になるはずです!

于 2014-07-08T23:08:16.530 に答える