Подтвердить что ты не робот

Инструменты Python для визуализации 100k вершин и 1M Edges?

Я хочу визуализировать данные, надеюсь, сделать их интерактивными. Прямо сейчас я использую NetworkX и Matplotlib, который максимизирует мой 8gb, когда я пытаюсь "нарисовать" график. Я не знаю, какие существуют варианты и методы для обработки такого большого кластера ** данных. Если бы кто-то мог указать мне в правильном направлении, это было бы здорово. У меня также есть карта GFX с поддержкой CUDA, если это может быть полезно.

Сейчас я думаю о том, чтобы рисовать только самые связанные узлы, например, верхние 5% вершин с наибольшим количеством ребер, а затем заполнять менее подключенные узлы по мере увеличения или клика пользователя.

4b9b3361

Ответ 1

У меня нет опыта с этим, но tulip, похоже, сделан для этого.

Ответ 2

Вы должны спросить о официальном списке рассылки wxPython. Там есть люди, которые могут вам помочь. Я удивлен тем, что matplotlib не может этого сделать. Это может потребовать от вас каким-то образом перестроить ваш код. В настоящее время основными способами рисования в wxPython являются различные контроллеры домена, один из виджетов FloatCanvas или для графического отображения, wx.Plot или matplotlib.

Ответ 3

Возможно PyOpenGL? Он может использоваться вместе с wxPython.

Редактирование: просто попробовал производительность без какой-либо оптимизации, требуется 0,2 с, чтобы нарисовать вершины 100k и 4s, чтобы нарисовать края 1M.

Ответ 4

Вы считали graphviz? Неинтерактивный, хотя он был разработан с самого начала, чтобы обрабатывать очень большие графики (хотя края 1M могут превосходить даже его возможности).

Там есть модуль python (pydot), который упрощает взаимодействие с Graphviz. Опять же, нельзя сказать точно, что он будет масштабироваться до ваших уровней. Однако, это должно быть легко узнать: установка обоих проста.

НТН.

Ответ 5

Считаете ли вы использование ParaView или VisIt? Это две интерактивные программы построения графиков, которые предназначены для обработки больших и больших наборов данных (очень!). Оба они также имеют интерфейс сценариев Python, поэтому вы можете автоматизировать/контролировать свои визуализации из интерпретатора Python.

Ответ 6

Вы пробовали Gephi?

Я считаю, что он очень хорошо масштабируется.