2012-01-12 34 views
6

Tôi đang tạo ứng dụng Django và muốn có hình ảnh hóa của mạng xã hội. Tôi đang tìm một thư viện có thể vẽ một cấu trúc dữ liệu đồ thị/mạng, nhưng cũng làm cho nó tương tác. Tôi muốn có thể nhấp vào nút và có thông tin từ nút đó sẽ được hiển thị (Tên, Mạng, v.v.) ở một nơi khác trên trangDjango và đồ thị tương tác/hiển thị mạng

Cho đến nay tôi đã tìm thấy đồ thị python và graphviz rất công cụ trực quan hóa mạnh mẽ, nhưng chúng tạo ra hình ảnh tĩnh, vì vậy bạn không thể nhấp vào chúng. Tôi cũng tìm thấy chủ đề này

Graph visualization library in JavaScript

mà đã có rất nhiều lời đề nghị, nhưng một số trong số đó là cho các biểu đồ như trong bảng xếp hạng, không phải đồ thị như trong đồ thị mạng xã hội. Một số trong số đó là rất cũ, và một số trong số đó chỉ tương tác trong đó nút có thể được kéo và di chuyển đến nơi khác trên canvas. Tôi không quan tâm quá nhiều về việc người dùng có thể thay đổi đồ thị, tôi chỉ muốn có đối tượng nút mang dữ liệu với nó có thể được hiển thị ở đâu đó.

Mọi đề xuất?

+0

Xin chào- Tôi đang tìm kiếm điều tương tự, tôi mới sử dụng Python và tự hỏi bạn có thể chia sẻ dự án của mình..cảm ơn không – user2912312

Trả lời

1

Tôi thích d3. Dưới đây là ví dụ về force-directed graph (thường được sử dụng để hiển thị các mạng xã hội).

Sẽ khá dễ dàng để thêm loại xử lý nhấp mà bạn đang tìm kiếm vào ví dụ về lực d3.

5

Tôi đã làm điều gì đó tương tự bằng cách sử dụng PyGraphviz. Bạn có thể lưu biểu đồ dưới dạng SVG và hiển thị SVG trong trang web của bạn. Sau đó, bạn có thể sử dụng một cái gì đó như jQuery SVG để đính kèm xử lý cho các nút.

Tôi đã triển khai giải pháp linh hoạt hơn và tuần tự hóa tất cả các nút và cạnh thành định dạng JSON và gửi nó đến trang web. Sau đó, tôi vẽ biểu đồ bằng cách sử dụng Raphaël. Giải pháp này tương thích với nhiều trình duyệt và rất linh hoạt.

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