Django и интерактивный график/визуализация сети

Я создаю приложение Django и хочу иметь визуализации социальной сети. Я ищу библиотеку, которая может нарисовать структуру данных графика/сети, но также сделать ее интерактивной. Я хотел бы иметь возможность нажимать на узел и отображать информацию с этого узла (имя, сеть и т. д.) где-то еще на странице

до сих пор я нашел python-graph и graphviz очень мощными инструментами визуализации, но они создают статические изображения, поэтому вы не можете нажать на них. Я также найден этот поток

библиотека визуализации графика в JavaScript

который имел много предложений, но некоторые из них для графиков, как в диаграммах, а не график, как в графике социальной сети. Некоторые из них очень старые, и некоторые из них интерактивны только в том, что узел можно перетащить и переместить в другое место на холсте. Мне все равно, что пользователь может изменить график, я просто хотел бы, чтобы объект node нес с собой данные, которые могут будет отображаться где-то.

какие предложения?

3 ответов


Мне нравится d3. Вот пример силовой график (часто используется для отображения социальных сетях).

было бы довольно легко добавить вид обработки щелчка, который вы ищете, в пример силы d3.


Я сделал что-то подобное, используя PyGraphviz. Вы можете сохранить график как SVG и показать SVG на своем сайте. Затем вы можете использовать что-то вроде jQuery SVG для присоединения обработчиков к узлам.

я реализовал более гибкое решение и сериализовал все узлы и ребра в формат JSON и отправил его на веб-сайт. Затем я рисую график, используя Рафаэль. Это решение совместимо с кросс-браузером и очень гибко.


оформить заказ django-netjsongraph.