Инструменти на Python за визуализиране на 100k върхове и 1M ръбове? [затворено]

Търся да визуализирам данните, надявам се да ги направя интерактивни. В момента използвам NetworkX и Matplotlib, което увеличава моите 8gb, когато се опитвам да „начертая“ графиката. Не знам какви опции и техники съществуват за работа с такъв голям клъстер** от данни. Ако някой може да ме насочи в правилната посока, ще е страхотно. Имам и GFX карта с активиран CUDA, ако това може да бъде от полза.

Точно сега мисля да начертая само най-свързаните възли, да речем горните 5% от върховете с най-много ръбове, след което да попълвам по-малко свързани възли, докато потребителят мащабира или кликва.


person wnewport    schedule 13.04.2011    source източник


Отговори (6)


Нямам опит с него, но lale изглежда е създадено за това.

person static_rtti    schedule 13.04.2011
comment
При мен линка не работи. - person Jay Askren; 13.04.2011
comment
Сега работи. Може би сървърът временно не работи. - person Jay Askren; 13.04.2011
comment
Моят приятел ми каза, че Tulip, макар и идеален за този вид работа, има стръмна крива на обучение. Той предложи Cytoscape, но сега гледам удобни за уеб приложения решения. - person wnewport; 14.04.2011
comment
Не мисля, че някой браузър е достатъчно бърз, за ​​да се справи с такова натоварване, но можете да опитате :) - person static_rtti; 14.04.2011

Трябва да попитате в официалния пощенски списък на wxPython. Там има хора, които вероятно могат да ви помогнат. Изненадан съм обаче, че matplotlib не може да направи това. Може просто да изисква от вас да преструктурирате кода си по някакъв начин. В момента основните начини за рисуване в wxPython са чрез различните DC, един от уиджетите FloatCanvas или за графики, wx.Plot или matplotlib.

person Mike Driscoll    schedule 13.04.2011

Може би PyOpenGL? Може да се използва заедно с wxPython.

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

person Fenikso    schedule 13.04.2011

Обмисляли ли сте graphviz? Не е интерактивен, въпреки че е проектиран от самото начало да обработва много големи графики (въпреки че 1M ръбове може да надхвърлят дори неговите възможности).

Има модул на Python (pydot), който прави взаимодействието с graphviz лесно. Отново, не мога да кажа със сигурност, че ще достигне до вашите нива. Въпреки това трябва да е лесно да се разбере: инсталирането на двете е лесно.

чт.

person sfinnie    schedule 13.04.2011
comment
Точката е хубава, но съм почти сигурен, че това е извън нейните възможности. За щастие сега има по-добри решения с отворен код, като tulip (има и други). - person static_rtti; 14.04.2011
comment
да, лалето беше ново за мен - изглежда интересно. Успех в намирането на нещо. - person sfinnie; 14.04.2011

Обмисляли ли сте да използвате ParaView или VisIt? Това са две интерактивни програми за чертане, които са предназначени да се справят с и да чертаят (много!) големи набори от данни. И двете имат интерфейс за скриптове на Python, така че можете да автоматизирате/контролирате своите визуализации от интерпретатора на Python.

person Chris    schedule 08.12.2011

Опитвали ли сте Gephi?

Вярвам, че се мащабира много добре.

person Jeremy    schedule 17.09.2013