[python] 파이썬 용 인터랙티브 그래프 라이브러리가 있나요?



Answers

당신은 확실히 igraph 라이브러리를보아야합니다.

대형 그래프와 다양한 레이아웃 스타일을 처리 할 수있는 강력한 라이브러리입니다. 또한 features 목록에 따라 2D 및 3D에서 대화식 및 비대화 형 시각화 작업에 사용할 수도 있습니다. tutorialtutorial .

업데이트 : 잘 알려진 또 다른 라이브러리는 here Python 패키지가있는 NetworkX 입니다. Acorn에서 권장하는 Mac / Windows 소프트웨어 Nodebox는 NetworkX 알고리즘을 사용합니다.

Question

파이썬 용 대화 형 그래프 라이브러리를 찾고 있습니다.

" graph "란, 일련의 노드가 꼭지점 집합 (xy 축 이상의 값 플롯이나 픽셀 그리드가 아닌)에 의해 연결된 노드 집합을 의미합니다.

"대화 형"에 의해, 나는 드래그 - 앤 - 노드를 주위에 드롭 수 있고 노드 / 정점을 클릭하고 라이브러리 / 노드를 추가 / 제거 할 수 있습니다 내 콜백 노드 / 정점 전달할 수 있어야합니다. 정점 또는 정보 표시 (데이터 세트가 너무 크거나 복잡하기 때문에 시작시 전체 그래프를로드 할 수 없으며 대신 사용자 입력에 따라 필요한 조각의 데이터 만로드합니다).

파이썬은 프로그래밍 언어 Python , 그래프 라이브러리는 CPython 바인딩을 가져야했습니다. Python 2.7 및 Python 3.1이 있지만 필요에 따라 2.6으로 다운 그레이드 할 수 있습니다. 이 언어 요구 사항은 내가 작업중인 데이터 셋이 파이썬 바인딩 만 가지고 있기 때문입니다.

그래프 라이브러리는 유향 그래프 를 지원하고 노드를 자동으로 레이아웃 할 수 있어야합니다. 노드에 레이블을 붙여야합니다.

바람직하게는, 레이아웃 알고리즘은 인접한 노드들을 서로 가까이 위치시켜야한다. 내 4 년 된 랩톱에서 합리적으로 100-1000 개의 노드와 약 300-4000 개의 정점을 처리 할 수 ​​있어야합니다 (일반적으로 약 100 개의 노드로 시작하지만 숫자는 사용자 입력에 따라 확장 될 수 있음). 가급적이면 Gnome을 제외하고는 너무 많은 의존성이없는 라이브러리 여야합니다. 오픈 소스가 선호됩니다.

이미 Tkinter Canvas를 사용하여 프로그램의 간단한 원형을 작성했지만이 프로그램을 확장하려면 더 심각한 그래프 라이브러리가 필요합니다. 나는 graphviz와 matplotlib를 살펴 봤지만 분명히 정적 그래프를 사용하는 것일뿐입니다. 대화식 조작을하기 위해서는 상당한 양의 작업이 필요합니다. (틀렸을 때 정정하십시오. 간단히 살펴 봤습니다.) . 또한 SVG 파일에 그래프를 생성하고 Inkscape를 사용하여 보았지만 속도가 너무 느려서 너무 많은 메모리가 필요했습니다. 정점의 수가 너무 많아서 엉망이되었습니다.




Related