2012-04-28 4 views
1

igraph의 파이썬 모듈을 읽고 쓰는 방법을 완전히 혼동합니다.파이 그래프 용 igraph

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

가 나는 football.gml 파일을 가지고 있고,이 코드를 실행하고 football.svg라는 파일을 작성 : 내가 지금 노력하고있어 있습니다. 그러나 InkScape를 사용하여 파일을 열려고하면 파일을로드 할 수 없다는 오류 메시지가 나타납니다. 이것은 코드를 작성하는 올바른 방법입니까? 무엇이 잘못 될 수 있습니까?

+0

gml 파일을 올바르게 읽는 중입니까? football.gml을 읽은 후'g'는 무엇입니까? – Chris

답변

2

write_svg 함수는 일종의 비추천입니다. Python 용 카이로 모듈을 가지고 있지 않더라도 igraph에서 SVG 내보내기를 허용하기위한 빠른 해킹 일뿐입니다. 잠시 동안 유지되지 않았기 때문에 버그를 쳤을 수도 있습니다. 당신은 (대부분의 리눅스 시스템에서, 당신은 단순히 적절한 패키지에서 설치할 수 있습니다) 파이썬의 카이로 모듈이있는 경우

, 당신은 단순히이 작업을 수행 할 수 있습니다

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

이 카이로의 SVG 렌더러를 사용하는 것이다 올바른 결과를 생성 할 가능성이 있습니다. 왠지 이유로 파이썬 용 카이로 모듈을 설치할 수 없다면 버그 리포트를 https://bugs.launchpad.net/igraph에 제출하여 검토 할 수 있습니다.

(더 나은 점은, 버그 보고서를 igraph.plot을 사용하여 작동하도록 만들었더라도 제출하십시오).

0

몇 년 늦었지 만, 아마도 누군가에게 도움이 될 것입니다.

write_svg 함수는 앰퍼샌드를 올바르게 이스케이프 처리하지 않는 것처럼 보입니다. 텍사스 A & M의 레이블에 앰퍼샌드가 있습니다. &이 아닌 &이 표시되어 InkScape는 혼동을 일으킬 수 있습니다. 텍스트 편집기에서 football.svg을 열어서 수정하면 황금색이어야합니다!