2016-03-11 49 views
6

Tôi vừa phát hiện ra về GephiStreamer. https://pypi.python.org/pypi/GephiStreamerLàm thế nào để tạo biểu đồ mạng Gephi từ Python?

Sử dụng gói này người ta có thể gửi hướng dẫn từ python đến Gephi để tạo nút và cạnh trong Gephi.

# Create a node with a custom_property 
node_a = graph.Node("A",custom_property=1) 

# Create edge 
edge_ab = graph.Edge(node_a,node_b,custom_property="hello") 
stream.add_edge(edge_ab) 

Tương tự, tôi muốn làm mọi thứ trong Gephi thông qua Python. Đây là những gì tôi thường làm.

ví dụ:

bước sau:

  1. tải nút

  2. tải cạnh

  3. tính toán betweeness trung tâm

  4. thay đổi kích thước/màu sắc của các nút theo trung tâm của họ điểm

  5. thay đổi cách bố trí đồ thị (như forceatlas2)

  6. cho đồ thị đầu ra

Dưới đây là sản phẩm tôi đã có bằng tay, nhưng tôi muốn tạo ra cùng bằng cách gửi hướng dẫn từ python đến Gephi. Tài liệu không nói gì ngoài việc tạo các nút, cạnh và biểu đồ.

Tôi cũng đã tìm hiểu về NetworKit. https://networkit.iti.kit.edu/data/uploads/docs/NetworKit-Doc/python/html/gephi.html

Điều này là tốt hơn một chút so với gephistramer, nhưng điều này đòi hỏi python 3.4 hoặc cao hơn và hầu hết các gói như gấu trúc, numpy hoặc sickit là 2,7.

cũng có cách nào để gửi tệp tôi đã tạo trong gephi trở lại python hay không.

Vui lòng đề xuất.

PS: Tôi đã chỉnh sửa toàn bộ chi tiết câu hỏi để dễ hiểu hơn (hy vọng).

+0

Bạn có muốn có GEPHI lên và chạy trong khi bạn đang xây dựng đồ thị của bạn bằng Python, hoặc nó có thể chỉ là một tập tin bạn tạo với python và tải lên Gephi? –

+0

@YannisP. Yeah, gephi có thể chạy. Nhưng tôi muốn mọi thứ được thực hiện bởi python. – Jack

+0

Có nhưng bạn có muốn truyền từ python sang gephi không? Nếu không, bạn chỉ có thể sử dụng networkx anf viết biểu đồ của bạn ở định dạng gexf là gephi native –

Trả lời

2

Không có câu trả lời đơn giản cho điều đó. Những người trong nhóm Facebook có thể biết điều gì đó nhưng IMO cách tốt nhất để làm điều đó là gọi Gephi toolkit, tức là bình có sẵn, từ jython, kiểm tra here để sử dụng ví dụ. Vấn đề là jython không cho phép cài đặt numpy và một loạt các thư viện khác nhưng tôi đoán bạn có thể giải quyết vấn đề này bằng cách tạo đầu ra của một tập lệnh đến tập lệnh kia hoặc sử dụng hàng đợi như Celery.

Vì vậy, tôi sẽ viết một tập lệnh, hãy gọi nó là graph_construction.py sử dụng networkx, tạo biểu đồ và sau đó viết nó vào đầu ra tiêu chuẩn trong gexf. Sau đó, tôi sẽ viết một kịch bản thứ hai, gephi.py rằng sẽ thực hiện điều trong GEPHI và giả viết đồ thị để một pdf và sau đó làm điều gì đó như:

python graph_construction.py | jython gephi.py output.pdf 

và cầu nguyện cho nó hoạt động.

5

Tôi đã tìm thấy câu hỏi này trong khi tự tìm kiếm câu trả lời.Tôi đã chọn Gephi làm visualizer của tôi và sau đó muốn xây dựng một biểu đồ được hỗ trợ tốt bởi công cụ này bằng cách lấy dữ liệu từ tổ chức của tôi với Python.

tôi thấy GephiStreamer và có vẻ là một cách đơn giản nhưng toàn diện để xây dựng đồ thị trong GEPHI từ một môi trường python bên ngoài (dòng lệnh, hoặc IDE)

Các tùy chọn khác vào thời điểm này là:

Các vấn đề liên quan