1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
"""
==========
Javascript
==========
Example of writing JSON format graph data and using the D3 Javascript library
to produce an HTML/Javascript drawing.
You will need to download the following directory:
- https://github.com/networkx/networkx/tree/master/examples/javascript/force
"""
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
d = json_graph.node_link_data(G) # node-link format to serialize
# write json
json.dump(d, 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)
|