Network Display

 Network Display

The Network Display component is used to visualize the network as a graph. A variety of graph layouts are available.

Appropriate Parent Component

Network Model. Network Display must be added only to a Network Model.

Properties

Properties are the items that appear in the property pane when you click on a component in the project tree. For more information of properties, see here.

Name     Description
Width The width in pixels of the display window.
Height The height in pixels of the display window.
Layout The layout property defines how the network will be laid out on the display. There are four types of layouts and you can edit the particular attributes of each layout by clicking the edit button.

  1. Circular. Lays out the nodes in a circle.

  2. Fruchman-Reingold. Lays out the nodes according to a modified Fruchman-Reingold algorithm. Nodes are positioned according to an iterative algorithm that assumes that nodes repel each other when close, but are attracted to connected nodes. Convergence is obtained by using a "simulated annealing"-style technique with an arbitrary cooling function. See, Fruchterman, T.M.J and Reingold, E.M. (1991) "Graph Drawing by Force-directed Placement" in Software-Practice and Experience, Vol 21(11), 1129-1164.

  3. Kamada-Kawai lays out the nodes according to a modified Kamada-Kawai algorithm. The Kamada-Kawai graph layout attempts to position nodes on the space so that the geometric (Euclidean) distance between them is as close as possible to the graph-theoretic (path) distance between them. See, Kamada, Tomihisa and Satoru Kawai (1989) "An Algorithm for Drawing Undirected Graphs" Information Processing Letters 31:7-15.

  4. Random. Lays out the nodes at random.

Fruchman-Reingold and Kamada-Kawai are considerably slower than circular or random, particularly with large networks.

When the Repast simulation is running and the display is visible, you can move the nodes with the mouse by clicking and dragging them.

Node Shape The shape of the displayed nodes (Oval or Rectangle).
Schedule See the schedule help and tutorial 3 for more information on the schedule property. The schedule property defines the execution schedule of any actions defined in your network display.

Although there are no user-definable actions associated with the Network Display component, Network Display implicitly defines two actions. These two actions are:

  1. update_display. This will update the display showing any changes to node color, label, and links since the last call to update_display.

  2. update_layout. This will update the layout of the nodes, that is, their x and y coordinates in the display window. Provided the nodes have not moved their is no real reason to schedule the update_layout action for execution if you are using the circular or random layouts. However, if you are using Fruchman-Reingold or Kamada-Kawai where the x and y coordinates are dependent on node links, then you probably want to schedule update_layout for execution.

Typically, update_display is scheduled for execution every tick (iteration) and the scheduling of update_layout depends on the size of the network and how long you are willing to wait between iterations. As mentioned above, Fruchman-Reingold and Kamada-Kawai are comptuationaly expensive algorithms and can be slow.