2016-03-11 44 views
6

Właśnie dowiedziałem się o GephiStreamer. https://pypi.python.org/pypi/GephiStreamerJak tworzyć wykresy sieciowe Gephi z Pythona?

Za pomocą tego pakietu można wysyłać instrukcje z Pythona do Gephi, aby utworzyć węzły i krawędzie w Gephi.

# Create a node with a custom_property 
node_a = graph.Node("A",custom_property=1) 

# Create edge 
edge_ab = graph.Edge(node_a,node_b,custom_property="hello") 
stream.add_edge(edge_ab) 

Podobnie chcę zrobić wszystko w Gephi przez Python. Oto, co zwykle robię.

ex:

etapy:

  1. obciążenia węzły

  2. obciążenie krawędzi

  3. oblicz betweeness centralizacji

  4. zmieniać rozmiar/kolor węzły, jak na ich centralność wyniki

  5. zmienić układ wykresu (takich jak forceatlas2)

  6. dać wykres wyjściowy

Poniżej jest wyjście Mam ręcznie, ale chcę, aby produkować takie same przez wysyłanie instrukcji z Pythona do Gephi. Dokumentacja nie mówi nic poza tworzeniem węzłów, krawędzi i wykresów.

Też się dowiedziałem o NetworKit. https://networkit.iti.kit.edu/data/uploads/docs/NetworKit-Doc/python/html/gephi.html

Jest to nieco lepiej niż gephistramer, ale wymaga to pythona 3.4 lub nowszego, a większość pakietów takich jak panda, numpy lub sickit jest w wersji 2.7.

również Czy istnieje sposób, aby wysłać plik, który stworzyłem w gephi z powrotem do Pythona.

Proszę sugerować.

PS: Edytowałem wszystkie szczegóły pytania, aby łatwiej było je teraz zrozumieć (mam nadzieję).

+0

Chcesz mieć Gephi uruchomiony podczas budowania swój wykres w Pythonie czy może to po prostu plik tworzony przy pomocy Pythona i ładowany do Gephi? –

+0

@YannisP. Tak, gephi może działać. Ale chcę, aby wszystko zostało wykonane przez Pythona. – Jack

+0

Tak, ale czy chcesz przesyłać strumieniowo z Pythona do gephi? W przeciwnym razie możesz po prostu użyć networkx anf napisać swój wykres w formacie gexf, który jest gephi natywny –

Odpowiedz

2

Nie ma prostej odpowiedzi na to. Ludzie z grupy na Facebooku mogą wiedzieć coś, ale IMO najlepszym sposobem na to byłoby wywołanie Gephi toolkit, tj. Dostępnego słoika, z jython, sprawdzenie here dla przykładu użycia. Rzecz w tym, że jython nie pozwala na zainstalowanie numpy i szeregu innych bibliotek, ale myślę, że mógłbyś obejść ten problem, wyprowadzając wyjście jednego skryptu do drugiego lub używając kolejki takiej jak Seler.

Więc chciałbym napisać skrypt, nazwijmy go graph_construction.py, który używa networkx, skonstruuj wykres, a następnie zapisz go na standardowym wyjściu w gexf. Następnie chciałbym napisać drugi scenariusz, gephi.py że wykonanie rzeczy gephi i powiedzmy pisać wykres do pliku PDF, a następnie zrobić coś takiego:

python graph_construction.py | jython gephi.py output.pdf 

i modlić się o to, aby pracować.

5

Znalazłem to pytanie, jednocześnie szukając odpowiedzi.Wybrałem Gephi jako mojego wizualizatora, a następnie chciałem zbudować wykres, który byłby dobrze obsługiwany przez narzędzie, pobierając dane z mojego organizmu za pomocą Pythona.

znalazłem GephiStreamer i wygląda na prosty, ale wszechstronny sposób budowania wykresów w Gephi z zewnętrznego środowiska Pythona (wiersz poleceń lub IDE)

innych opcji w tym momencie są: