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).