Django и интерактивный график/визуализация сети
Я создаю приложение Django и хочу иметь визуализации социальной сети. Я ищу библиотеку, которая может нарисовать структуру данных графика/сети, но также сделать ее интерактивной. Я хотел бы иметь возможность нажимать на узел и отображать информацию с этого узла (имя, сеть и т. д.) где-то еще на странице
до сих пор я нашел python-graph и graphviz очень мощными инструментами визуализации, но они создают статические изображения, поэтому вы не можете нажать на них. Я также найден этот поток
библиотека визуализации графика в JavaScript
который имел много предложений, но некоторые из них для графиков, как в диаграммах, а не график, как в графике социальной сети. Некоторые из них очень старые, и некоторые из них интерактивны только в том, что узел можно перетащить и переместить в другое место на холсте. Мне все равно, что пользователь может изменить график, я просто хотел бы, чтобы объект node нес с собой данные, которые могут будет отображаться где-то.
какие предложения?
3 ответов
Мне нравится d3. Вот пример силовой график (часто используется для отображения социальных сетях).
было бы довольно легко добавить вид обработки щелчка, который вы ищете, в пример силы d3.
Я сделал что-то подобное, используя PyGraphviz. Вы можете сохранить график как SVG и показать SVG на своем сайте. Затем вы можете использовать что-то вроде jQuery SVG для присоединения обработчиков к узлам.
я реализовал более гибкое решение и сериализовал все узлы и ребра в формат JSON и отправил его на веб-сайт. Затем я рисую график, используя Рафаэль. Это решение совместимо с кросс-браузером и очень гибко.