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

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

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

  • py2exe не может создать исполняемый файл
  • Как управлять / вызывать другой скрипт python в одном скрипте python? (Общение между скриптами)
  • Анимация панели Matplotlib - блиские листья старых кадров позади
  • Вложение окна Pygame в рамку Tkinter или WxPython
  • вишневый и wxpython
  • Запуск winpdb изнутри Enthought Canopy на MacOS 10.9.2
  • Извлечь данные XY из рисунка matplotlib
  • Как связать несколько wx.Dialogs в wxPython
  • 6 Solutions collect form web for “Инструменты Python для визуализации 100k вершин и 1M Edges?”

    У меня нет никакого опыта с этим, но тюльпан, кажется, сделан для этого.

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

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

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

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

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

    НТН.

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

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

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

    Python - лучший язык программирования в мире.