Visualization algorithms change the graphical appearance of the network; they are accesible via the visualization tab. Basic illustrations of how to layout networks or display attribute values are provided in the two tutorials on visualization and analysis and advanced attribute management.
visone distinguishes between three major visualization categories
- layout to recompute the positions (coordinates) or nodes, links-bends, or labels to optimize readability or other specified layout criteria;
- mapping to specify how attribute values (such as node centrality, tie strength, or class membership) are encoded in grapical variables (such as size, width, or color);
- geometry to apply geometric transformations such as rotation, reflection, or scaling to the network or parts of the network;
- 1 layout
- 1.1 node layout
- 1.2 link routing
- 1.3 label placement
- 2 mapping
- 3 geometry
Layout refers to the task of obtaining positions for the elements of a network visualization, where computing node positions is of primary interest. Other tasks are (re-)routing the links of a visualization, e.g. to avoid overlap between link and node representations, or to automatically arrange label positions for better readability.
The methods in this section deal with the computation of node positions for one or more networks. Generally, nodes are considered to be geometric points (or objects that are described by a single point), and links are represented as straight lines between their incident nodes. Thus, most methods produce so called straight-line drawings (also referred to as node-link diagrams or sociograms).
There are several general objectives that most methods try to optimize, such as:
- links should have more or less the same length.
- nodes should be distributed well over the drawing area.
- the number of meaningless link crossings should be kept small.
- structural symmetries in the network should be represented well.
Additionally, some methods are constrained by additional or different objectives:
- node placement is restricted with respect to a given scalar node attribute, e.g., such that nodes lie on concentric circles or verical layers corresponding to the attributes values.
- given a sequence of networks, the layout should ease comparison with respect to the layout of the previous network in the sequence.
- the layout should reveal specific structural properties.
Stress minimization, an instance of a family of dimension-reduction techniques referred to as multidimensional scaling (MDS), is our preferred method to obtain a general-purpose layout for networks. The main idea is to compute a layout such that graph-theoretic distances (i.e., shortest-path lengths) between nodes are represented as good as possible, where more weight is placed on representation error with respect to shorter distances than larger ones. The method usually meets the general criteria mentioned above, and yields better results than spring embedders in most cases.
Note that the outcome of stress minimization is dependent on the current layout of the network. We suggest to compute a metric MDS layout first to obtain good results. Also note that computing a layout via the quick layout button corresponds to this procedure, i.e., applying stress minimization to a metric MDS layout.
The backbone layout tries to untangle hairball graphs. The method is based on a spanning subgraph that is sparse but connected and consists of strong ties holding together communities. For more details see the concept page.
Metric MDS, also referred to as classical scaling is the original, spectral-decomposition variant of multidimensional scaling. As with stress minimization, the goal is to represent shortest-path distances as well as possible. In contrast to stress minimization all distances are treated equally. Thus, this approach generally yields good representation of large distance, but poor representation of shorter distances, affecting layout quality. However, since metric MDS produces a unique solution, it is suited well to serve as initialization for stress minimization.
Centrality layout, like status layout is used to obtain a layout that represents values of a given numerical nodal attribute, e.g. a centrality index of nodes. Nodes with the same attribute value are arranged on concentric circles, where nodes with higher value are closer to the center, and nodes with lower value are in the periphery. At the same time, the algorithm tries to reduce link crossings as much as possible. Circumferences corresponding to regular intervals with respect to the attribute values are shown in the background of the visualization, to increase legibility of each node's corresponding value.
Status layout, like centrality layout is used to obtain a layout that represents values of a given numerical nodal attribute, e.g. a centrality index of nodes. Nodes with the same attribute value are arranged on horizontal lines, where nodes with higher value are closer to the top, and nodes with lower value are closer to the bottom of the drawing. The algorithm tries to avoid link crossings. Note also, that bend-points for the links are introduced to increase readability. Optionally, the status niveaus (i.e., horizontal lines) corresponding to attribute values can be shown in the background of the visualization.
Dynamic layout refers to techniques for obtaining coherent positions of nodes for several networks, usually embodying a time-series of a network. The goal is to convey the evolution of the network, by easing comparison between a current layout and the preceeding one. In visone, three methods are currently offered to obtain a dynamic layout, all based on stress minimization. One approach calculates one single layout for an aggregate of all individual networks, and applies these positions, i.e., all nodes strictly maintain their position throughout the sequence. The other two approaches trade off this perfect stability for better readability of individual networks.
stress minimization (dyad attributes)
This method differs from standard stress minization in the choice of input distances. Usually, shortest-path distances are considered. Here, any numerical dyad attribute may be choosen as input. The method then tries to arrange nodes, such that those distances are matched as well as possible in the layout.
The spring embedder is the most commonly known general-purpose layout technique (however, we generally advise to use stress minimization due to better scaling and quality). The available method is an instance of force-directed methods in which a network is likened to a physical system of repelling objects (the nodes) and springs of a given length (the links) binding adjacent nodes together. Nodes are iteratively repositioned based on the forces exerted on them, so that the system moves toward a force equilibrium.
Spectral layout computes positions based on Eigenvectors of a networks adjacency matrix or the corresponding Laplacian.
Circular layout arranges nodes on one or more circles, based on the connectedness in the network.
Random layout assigns a random position for each node.
Links are re-routed to avoid overlap between nodes and links, by introducing or moving bend-points of links.
rearranges label positions to avoid overlap with nodes and links.
Methods in the mapping category are all used to map attribute values to visual attributes of the network diagram. Graphical attributes are color, size, and labels. These are available for both nodes and links. Mappings only available for nodes are the mappings to the geometrical attributes coordinates, and the order in wich nodes are rendered.
A mapping for node and link attributes to the color of nodes, node borders and links, suitable for both numerical and categorial attributes. For numerical attributes, values can be mapped by means of
- interpolation in the RGB color space between a given color for the minimum value and a given color for the maximum value.
- saturation of a given color.
- brightness of a given color.
Categorial attributes can be mapped by specifying a color table.
A mapping for node and link attributes to node area, width or height, or link width. This mapping is only allowed for numerical attributes.
A mapping for node and link attributes to properties of the corresponding labels. Available options are:
- plain mapping of the attribute value to label texts.
- mapping of values given by the attribute to label colors (in the same way as color-mapping for nodes and links).
- mapping of numerical attribute values to font-sizes of labels.
A mapping for numerical node attributes to coordinates in either x- or y-direction. Attribute values can be applied directly, or interploated to fit into the dimensions of the network's current diagram. Horizontal or vertical lines drawn in the background indicate corresponding attribute values.
Geographic Mapping of longitude/latitude coordinates together with a map on the background is also possible.
A mapping for numerical node attributes to the order in which nodes are drawn in the diagram. In case of overlap, nodes with a lower value will be beneath nodes with a higher value.
The geometry category provides mechanisms to alter the layout of a network by means of purely geometric operations, so called affine transformations.
Affine transformations provided in visone are translation, rotation, scaling and reflection.
Networks in a network collection are automatically translated, rotated, and scaled to match the cofiguration of a reference network or the previous network in the collection as good as possible.