Loading...
Parsing...
Analyzing...
Setting things up...
Computing layout...

close help

Help

About

This is a viewer for decision maps, which record decisions made and places discovered during an exploration process. It has multiple tools for visualizing the sequence of decision graphs that represents an exploration process, including:

At the top left, the controls area shows global controls and view-specific controls (described in the help sections for each view).

At the top right, there is a legend that shows the styles used for the current view. See the legend section for more details.

On the bottom left, the current view is displayed.

On the bottom right, the listing displays the name of each decision, along with its assigned symbol (if any), and a few other stats about that decision. You can click on nodes in the listing to select/deselect them.

Controls

The global controls are:

Overview

The overview displays the connections among all nodes in the graph at the current step, using one of several automatic layouts, plus a force simulation that tries to ensure most connections aren't too long but also that decisions don't get too close to each other.

You can drag around the nodes to adjust their position, but when you do that, those nodes will become fixed in place (you can click the tab that this adds to remove the pin). By hovering over a node or selecting nodes (by clicking on them), you can limit which edges are shown, and hovering on a node or edge for a moment will display information about it.

The controls for this view are:

The position of the nodes is governed by two processes: the initial layout, and a physical simulation that includes several simulated forces.

Initial Layout

The initial layout results can be viewed without running the physical simulation at all by selecting the “strict” layout option. Here's how each layout option works:

  1. The “hive” layout places nodes on a triangular grid. To place each node, the following algorithm is used:

    1. At each step, select a single decision to place on the graph, based on the order in which decisions were observed during exploration, breaking ties alphabetically by decision name.
    2. Next, place that node on the graph:
      • For the first step, place it at the origin (0, 0).
      • For subsequent nodes, examine all empty grid locations that are adjacent to an already-placed node:
        • At each location, compute the cost for that location as the sum of the link lengths of each link from this node to a node that’s already been placed.
        • Pick the location that has the lowest total cost, and put the node there. Ties are broken by choosing locations that are closer to the origin, and double-ties are broken by choosing the edge position that was added to the list of edge positions first.
      • Finally, repeat steps 1 and 2 until all nodes have been placed (including nodes not connected to the original node).

    This algorithm normally results in a roughly hexagonal group of nodes, even when connections aren’t thick, because it breaks ties towards the origin. The default listing sort order for this view shows the order in which nodes were added, which can help understand the layout.

  2. The “final” layout places nodes into a square, going first across to the right and then down rows by node ID (IDs are assigned in the order nodes are created).
  3. The “baryeccentric” layout places nodes according to the baryeccentricLayout function in the exploration.display module. It selects three distant-from-each-other nodes as triangulation points and places each other node between or around them according to its path distance from those three nodes.
  4. The “path” layout places nodes on a gentle arc according to the order in which they were visited, putting unvisited nodes above the nodes they are options from. This layout tries to avoid straight lines by putting nodes in an arc so that relaxing it will be unambiguous and so that otherwise overlapping edges are more visible.

Physical Simulation

Once the nodes are positioned in this grid, in the “loose” and “relaxed” layouts, or when the “relax further” button is pressed, we relax those positions by simulating a few physical forces acting on the nodes in two dimensions. The main forces are:

In addition to these two main forces, there is a gathering force that pulls all nodes towards the origin. This ensures that disconnected nodes do not drift away from the main part of the graph. This force is fairly weak, so it does not introduce very much distortion.

The “loose” and “relaxed” layouts apply different amounts of simulation to relax the graph. The “relax further” button can always be used to see the consequences of more simulation updates. The “loose” layout is an intermediate between the rigid grid of the “strict” layout and the more relaxed positions of the “relaxed” layout.

Focus

This view shows detailed information about all of the options at a single decision at a particular exploration step. This focus node is in the center, and can be switched by picking from the listing on the right, or by clicking on another non-focus node (TODO: implement this). All nodes that are connected to the focus node are arrayed in a circle around the focus node, ordered by their order of appearance in the exploration, starting from 0 degrees on the right and proceeding clockwise.

The control area for this view displays the ID of the focus decision.

Edit

In this view, the last exploration step is always displayed, and you can click or use the controls to edit the graph and/or add exploration steps.

By default the current step's primary decision is selected. Clicking on the graph area can do a few different things:

Additional controls for the edit view allow for:

Histogram

TODO

This view helps provide context for the edge weights used in the other views. By displaying a histogram of values (such as interactions, which is total initiated + received weight) this view gives a sense of how large or small a particular value is relative to all of the nodes in the graph. Each histogram displays a list of numbers along the x-axis, which are the distinct values present among all nodes, and for each value, there’s a bar indicating how many nodes had that much total edge weight, with a number on top indicating the precise count. So the x-axis is the combined edge weight (or # of neighbors) depending on which graph is selected, and the y-axis is the total number of nodes that have that combined edge weight (or # of neighbors).

This view can plot a histogram of the initiated weight, the received weight or the initiated + received weight (interactions). It can also plot a histogram of the number of neighbors each node has. In addition, you can select two histograms at once and it will plot one above the x-axis and one below so you can compare them visually (this really only makes sense for comparing among initiated, received and initiated + received graphs).

The width of each bar is determined by how many bars can fit in the graph area, but there is a minimum, and so if there are too many distinct values to display, you will have to scroll the graph horizontally to see them all. The height of the bars is determined such that the largest bar fills up the available vertical space, so only relative heights are relevant. When two graphs are shown, they are not scaled independently, so that the relative height of bars above and below the x-axis can be compared directly.

The controls for this view are:

In the histogram view, selection works a bit differently than in other views. You can still use the listing to select individual nodes, and this will highlight the bar(s) that they belong to (hovering on a bar will also display the ID of all nodes associated with it, although in some cases the list may be too long to fit on the screen). However, clicking on a bar will select all nodes that belong to that bar, and any other bar(s) they belong to (in the comparison view). Whether all or only some nodes at a bar are selected (e.g., because they were selected using the listing), clicking on that bar deselects all of them. So if you want to know which nodes have a total outgoing weight of exactly 5, you can select the “initiated” histogram, and click on the bar above the number 5 on the x-axis.

Legend

In the top-right of the window, there is a “Legend” panel which displays a legend for the current graph. In the overview, focus, and path views, this displays one style for each region, along with the name of that region. In the histogram view, it displays the different styles used for each different value that can be used to plot a histogram, which is useful when comparing histograms to distinguish which is which.

The regions and their names are defined as part of the dataset (we use level-1 zones by default).

Listing

The listing area is on the right of the screen, and contains a list of all decisions in the graph. It has controls for sorting or filtering decisions, and also displays key statistics for each decision.

The stats displayed are TODO

The controls for the listing area are:

help
0 100 |
| |
| | |

Overview ?

layout:
|
| |

Histograms ?

graph
collapse values

Focus ?

viewing

Edit ?

| |

Legend ?