Network Visualization¶
This module provides tools for visualizing a Network graph in different ways.
Here is an example of usage:
from nupic.frameworks.viz import (NetworkVisualizer,
GraphVizRenderer,
NetworkXRenderer,
DotRenderer)
# Create Network instance
network = Network()
# Add three TestNode regions to network
network.addRegion("region1", "TestNode", "")
network.addRegion("region2", "TestNode", "")
network.addRegion("region3", "TestNode", "")
# Set dimensions on first region
region1 = network.getRegions().getByName("region1")
region1.setDimensions(Dimensions([1, 1]))
# Link regions
network.link("region1", "region2", "UniformLink", "")
network.link("region2", "region1", "UniformLink", "")
network.link("region1", "region3", "UniformLink", "")
network.link("region2", "region3", "UniformLink", "")
# Initialize network
network.initialize()
# Initialize Network Visualizer
viz = NetworkVisualizer(network)
# Render w/ graphviz
viz.render(renderer=GraphVizRenderer)
# Render w/ networkx
viz.render(renderer=NetworkXRenderer)
# Render to dot (stdout)
viz.render(renderer=DotRenderer)
# Render to dot (file)
viz.render(renderer=lambda: DotRenderer(open("example.dot", "w")))
-
class
nupic.frameworks.viz.dot_renderer.
DotRenderer
(outp=<open file '<stdout>', mode 'w'>, node_attrs=None)¶ Network visualization “renderer” implementation to render a network to a dot-formatted document, suitable for use w/ graphviz.
Parameters: - outp – File-like obj to which rendered graph is written (defaults to sys.stdout)
- node_attrs – Node attributes to apply to all nodes in graph
-
class
nupic.frameworks.viz.graphviz_renderer.
GraphVizRenderer
¶ Network visualization “renderer” implementation to render a network with graphviz.
-
class
nupic.frameworks.viz.networkx_renderer.
NetworkXRenderer
(layoutFn=<function fruchterman_reingold_layout>)¶ Network visualization “renderer” implementation to render a network with graphviz.
-
class
nupic.frameworks.viz.network_visualization.
NetworkVisualizer
(network)¶ Network visualization framework entry point.
Usage:
NetworkVisualizer(network).render()
You may optionally specify a specific renderers. e.g.:
viz = NetworkVisualizer(network) viz.render(renderer=GraphVizRenderer) viz.render(renderer=NetworkXRenderer)
Parameters: network – ( nupic.engine.Network
)-
export
()¶ Exports a network as a networkx MultiDiGraph intermediate representation suitable for visualization.
Returns: networkx MultiDiGraph
-
render
(renderer=<class 'nupic.frameworks.viz.dot_renderer.DotRenderer'>)¶ Render network. Default is
DotRenderer
.Parameters: renderer – Constructor parameter to a “renderer” implementation. Return value for which must have a “render” method that accepts a single argument (a networkx graph instance).
-