On dirait qu'il devrait y avoir une méthode dans networkx pour exporter le format graphique json, mais je ne le vois pas. J'imagine que cela devrait être facile à faire avec nx.to_dict_of_dicts(), mais cela nécessiterait un peu de manipulation. Quelqu'un sait-il d'une solution simple et élégante?Méthode pour enregistrer networkx graph to json graph?
16
A
Répondre
1
Les nœuds et les bords sont-ils suffisamment d'informations? Si oui, vous pouvez écrire votre propre fonction:.
json.dumps(dict(nodes=graph.nodes(), edges=graph.edges()))
5
Voici une approche JSON que je viens de faire, en même temps que le code pour lire les résultats de retour dans Il enregistre les attributs de nœud et de bord, dans le cas où vous avez besoin que .
import simplejson as json
import networkx as nx
G = nx.DiGraph()
# add nodes, edges, etc to G ...
def save(G, fname):
json.dump(dict(nodes=[[n, G.node[n]] for n in G.nodes()],
edges=[[u, v, G.edge[u][v]] for u,v in G.edges()]),
open(fname, 'w'), indent=2)
def load(fname):
G = nx.DiGraph()
d = json.load(open(fname))
G.add_nodes_from(d['nodes'])
G.add_edges_from(d['edges'])
return G
14
Cette documentation contient une description complète
Un exemple simple est la suivante:
import networkx as nx
from networkx.readwrite import json_graph
DG = nx.DiGraph()
DG.add_edge('a', 'b')
print json_graph.dumps(DG)
Vous pouvez également jeter un oeil à l'Javascript/SVG/D3 bel exemple sur l'ajout de la physique à la visualisation graphique.
2
En général, j'utiliser le code suivant:
import networkx as nx;
from networkx.readwrite import json_graph;
G = nx.Graph();
G.add_node(...)
G.add_edge(...)
....
json_graph.node_link_data(G)
il va créer le graphique au format JSON dans lequel les noeuds sont en nodes
et arêtes dans links
en plus d'autres informations sur le graphique (directionnalité, ... etc)
1
Essayez ceci:
# Save graph
nx.write_gml(G, "path_where_graph_should_be_saved.gml")
# Read graph
G = nx.read_gml('path_to_graph_graph.gml')
Questions connexes
- 1. Recherche récursive networkx graph
- 2. Facebook Graph to Array
- 3. C++ Object Graph to C#
- 4. Parsing Facebook Open API Graph Réponse JSON en C#
- 5. facebooks graph api
- 6. Noms d'algorithmes Traversal Graph
- 7. MBean Simple Graph Monitor
- 8. Facebook Graph API question
- 9. Object Graph/Persistence Question
- 10. Facebook Graph API récupérer des amis avec json et C#
- 11. Facebook Graph API - Photo Upload
- 12. JMeter Graph Résultats pour plusieurs requêtes http
- 13. y a-t-il java facebook graph graph API pour ordinateur de bureau?
- 14. CSS Line Graph: Plusieurs lignes?
- 15. Bibliothèque iPhone Facebook Graph API
- 16. Facebook: Bibliothèque Java API Graph
- 17. FB Open Graph Check Login
- 18. Facebook Graph API et ActionScript
- 19. Facebook Graph API + Pages Facebook
- 20. Moniteur de ressources système/Graph
- 21. facebook graph api ajax XMLHttpRequest - Résultat nul?
- 22. Facebook Graph alternatif API pour user.hasAppPermission facebook vieux repos api
- 23. Open Graph API - Classe PHP Github
- 24. Facebook Graph API avec iPhone SDK
- 25. Facebook Nouveau SDK PHP pour API Graph - Multi Query
- 26. wxPython: Network Graph - cliquable avec le menu contextuel - Any pkgs?
- 27. Façons d'interroger Facebook Graph "Aimez-vous x?"
- 28. Facebook Graph API, tirer des informations anonymement
- 29. création de boost :: graph edge_weight propriété map
- 30. Facebook Graph API et l'email de l'ami
Quel est exactement le format graphique JSON? – fmark
essentiellement une liste de nœuds et adjacences, mais sorta confus avec une version simple et une version étendue: http://thejit.org/static/v20/Docs/files/Loader/Loader-js.html – Bob