Ответ 1
У меня нет опыта с этим, но tulip, похоже, сделан для этого.
Я хочу визуализировать данные, надеюсь, сделать их интерактивными. Прямо сейчас я использую NetworkX и Matplotlib, который максимизирует мой 8gb, когда я пытаюсь "нарисовать" график. Я не знаю, какие существуют варианты и методы для обработки такого большого кластера ** данных. Если бы кто-то мог указать мне в правильном направлении, это было бы здорово. У меня также есть карта GFX с поддержкой CUDA, если это может быть полезно.
Сейчас я думаю о том, чтобы рисовать только самые связанные узлы, например, верхние 5% вершин с наибольшим количеством ребер, а затем заполнять менее подключенные узлы по мере увеличения или клика пользователя.
У меня нет опыта с этим, но tulip, похоже, сделан для этого.
Вы должны спросить о официальном списке рассылки wxPython. Там есть люди, которые могут вам помочь. Я удивлен тем, что matplotlib не может этого сделать. Это может потребовать от вас каким-то образом перестроить ваш код. В настоящее время основными способами рисования в wxPython являются различные контроллеры домена, один из виджетов FloatCanvas или для графического отображения, wx.Plot или matplotlib.
Возможно PyOpenGL? Он может использоваться вместе с wxPython.
Редактирование: просто попробовал производительность без какой-либо оптимизации, требуется 0,2 с, чтобы нарисовать вершины 100k и 4s, чтобы нарисовать края 1M.
Вы считали graphviz? Неинтерактивный, хотя он был разработан с самого начала, чтобы обрабатывать очень большие графики (хотя края 1M могут превосходить даже его возможности).
Там есть модуль python (pydot), который упрощает взаимодействие с Graphviz. Опять же, нельзя сказать точно, что он будет масштабироваться до ваших уровней. Однако, это должно быть легко узнать: установка обоих проста.
НТН.
Считаете ли вы использование ParaView или VisIt? Это две интерактивные программы построения графиков, которые предназначены для обработки больших и больших наборов данных (очень!). Оба они также имеют интерфейс сценариев Python, поэтому вы можете автоматизировать/контролировать свои визуализации из интерпретатора Python.
Вы пробовали Gephi?
Я считаю, что он очень хорошо масштабируется.