Parece que debería haber un método en networkx para exportar el formato de gráfico json, pero no lo veo. Me imagino que esto debería ser fácil de hacer con nx.to_dict_of_dicts(), pero requeriría un poco de manipulación. ¿Alguien sabe de una solución simple y elegante?Método para guardar el gráfico de redx en el gráfico json?
16
A
Respuesta
1
¿Los nodos y los bordes son información suficiente? Si es así, usted podría escribir su propia función:.
json.dumps(dict(nodes=graph.nodes(), edges=graph.edges()))
5
Aquí es un enfoque JSON que acabo de hacer, junto con el código para leer los resultados de vuelta en Guarda los atributos del nodo y del borde, en caso de tener 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
Este documentation contiene una descripción completa
Un ejemplo simple es la siguiente:
import networkx as nx
from networkx.readwrite import json_graph
DG = nx.DiGraph()
DG.add_edge('a', 'b')
print json_graph.dumps(DG)
También puede echar un vistazo a la Javascript/SVG/D3 buen ejemplo en la adición de la física a la visualización gráfica.
2
Yo generalmente uso el siguiente código:
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)
creará JSON formato gráfico en el que los nodos están en nodes
y bordes en links
además de otra información sobre el gráfico (direccionalidad, ... etc)
1
Prueba esto:
# Save graph
nx.write_gml(G, "path_where_graph_should_be_saved.gml")
# Read graph
G = nx.read_gml('path_to_graph_graph.gml')
Cuestiones relacionadas
- 1. Matplotlib: guardar el gráfico en numpy array
- 2. Método initWithNibName en el guión gráfico
- 3. ¿Cómo guardar el objeto gráfico como imagen en C#?
- 4. OCR'ing un gráfico, tabla o gráfico para el cumplimiento 508
- 5. guardar el gráfico en el archivo de imagen en matlab: diferencia entre guardar e imprimir
- 6. Algoritmo de gráfico (gráfico)
- 7. ¿Guardar un gráfico de Google como SVG?
- 8. gráfico de líneas de Rafael animar y actualizar el gráfico
- 9. Anticipado gráfico para el script Python
- 10. Mostrar gráfico sin guardar usando pydot
- 11. Diferencia entre gráfico, gráfico y gráfico
- 12. Guión gráfico: crear múltiples vistas en el guión gráfico para el mismo ViewController
- 13. Gráfico de gráfico MATLAB: asignación de etiquetas de leyenda durante el gráfico
- 14. Insertar fórmula en el gráfico
- 15. actualización del gráfico de datos JSON
- 16. Cómo actualizar el gráfico de barras de jqplot sin volver a dibujar el gráfico
- 17. Serializar/deserializar objeto-gráfico PHP a JSON
- 18. Biblioteca Java para generar el Gráfico interactivo
- 19. número de rutas en el gráfico
- 20. Hacer un gráfico Gráfico en C#
- 21. el gráfico no está definido
- 22. agrupación de gráficos de redx
- 23. Guarde el gráfico R en el servidor web
- 24. mostrar números en el gráfico circular
- 25. Depurador gráfico para bash
- 26. mensaje gráfico de carga
- 27. ¿Hay un comando para exportar el gráfico actual?
- 28. uitableviewcells personalizadas en el guión gráfico
- 29. etiquetas superpuestas en el gráfico circular flot
- 30. ¿Cómo combino el gráfico de un ListPlot con el gráfico de un Plot?
¿qué es exactamente el formato gráfico JSON? – fmark
básicamente una lista de nodos y adyacencias, pero es bastante confuso con una versión simple y una extendida: http://thejit.org/static/v20/Docs/files/Loader/Loader-js.html – Bob