1234567891011121314151617181920212223242526272829303132333435363738394041 |
- """
- ==========
- Javascript
- ==========
- Example of writing JSON format graph data and using the D3 Javascript library to produce an HTML/Javascript drawing.
- """
- # Author: Aric Hagberg <aric.hagberg@gmail.com>
- # Copyright (C) 2011-2019 by
- # Aric Hagberg <hagberg@lanl.gov>
- # Dan Schult <dschult@colgate.edu>
- # Pieter Swart <swart@lanl.gov>
- # All rights reserved.
- # BSD license.
- import json
- import flask
- import networkx as nx
- from networkx.readwrite import json_graph
- G = nx.barbell_graph(6, 3)
- # this d3 example uses the name attribute for the mouse-hover value,
- # so add a name to each node
- for n in G:
- G.nodes[n]['name'] = n
- # write json formatted data
- pen_weight = json_graph.node_link_data(G) # node-link format to serialize
- # write json
- json.dump(pen_weight, open('force/force.json', 'w'))
- print('Wrote node-link JSON data to force/force.json')
- # Serve the file over http to allow for cross origin requests
- app = flask.Flask(__name__, static_folder="force")
- @app.route('/')
- def static_proxy():
- return app.send_static_file('force.html')
- print('\nGo to http://localhost:8000 to see the example\n')
- app.run(port=8000)
|