Visualization tab: Difference between revisions
(→layout) |
|||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
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 | 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_(tutorial)|''visualization and analysis'']] and [[Managing_attributes_(tutorial)|''advanced attribute management'']]. | ||
visone distinguishes between three major '''visualization categories''' | visone distinguishes between three major '''visualization categories''' | ||
Line 25: | Line 25: | ||
Additionally, some methods are constrained by additional or different objectives: | 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 [[#centrality layout|concentric circles]] or [[#status layout| verical layers]] corresponding to the attributes values. | * node placement is restricted with respect to a given scalar node attribute, e.g., such that nodes lie on [[#centrality layout|concentric circles]] or [[#status layout| verical layers]] corresponding to the attributes values. | ||
* | * given a [[#dynamic layout|sequence of networks]], the layout should ease comparison with respect to the layout of the previous network in the sequence. | ||
* the layout should reveal [[#spectral layout|specific structural properties]]. | * the layout should reveal [[#spectral layout|specific structural properties]]. | ||
Line 32: | Line 32: | ||
==== stress minimization ==== | ==== stress minimization ==== | ||
Stress minimization is our preferred method to obtain a layout for | 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 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 embedder|spring embedders]] in most cases. | The method usually meets the general criteria mentioned above, and yields better results than [[#spring embedder|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|metric MDS]] layout first to obtain good results. | |||
Also note that computing a layout via the [[Quick_layout|quick layout]] button corresponds to this procedure, i.e., applying stress minimization to a metric MDS layout. | |||
<!-- For more details on the options available in visone, see the [[stress minimization|concept page]] for stress minimization. --> | |||
==== backbone 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 [[Backbone_Layout|concept page]]. | |||
==== metric MDS ==== | ==== metric MDS ==== | ||
Metric MDS, also referred to as ''classical scaling'' is the original, spectral-decomposition variant of multidimensional scaling. | |||
As with [[#stress minimization|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. | |||
<!-- See the metric MDS [[metric MDS|concept page]] for more technical details. --> | |||
==== centrality layout ==== | ==== centrality layout ==== | ||
Centrality layout, like [[#status layout|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. | |||
<!-- See the centrality layout [[centrality layout|concept page]] for details on available options. --> | |||
==== status layout ==== | ==== status layout ==== | ||
Status layout, like [[#centrality layout|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. | |||
<!-- See the status layout [[status layout|concept page]] for more details. --> | |||
==== dynamic layout ==== | ==== dynamic layout ==== | ||
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|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. | |||
Note that dynamic layout can only be applied to [[network collection|network collections]]. | |||
Also, visone provides [[animation]] of the sequence via the [[File:Animation.png|link=animation]] icon in the [[GUI#toolbar|toolbar]]. | |||
<!-- See the dynamic layout [[dynamic layout|concept page]] for more information on technical details and available options. --> | |||
==== stress minimization (dyad attributes) ==== | ==== stress minimization (dyad attributes) ==== | ||
This method differs from standard [[#stress minimization|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. | |||
==== spring embedder ==== | ==== spring embedder ==== | ||
The spring embedder is the most commonly known general-purpose layout technique (however, we generally advise to use [[#stress minimization|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. | |||
<!-- See the spring embedder [[spring embedder|concept page]] for further details. --> | |||
==== spectral layout ==== | ==== spectral layout ==== | ||
Spectral layout computes positions based on Eigenvectors of a networks adjacency matrix or the corresponding Laplacian. | |||
<!-- See the spectral layout [[spectral layout|concept page]] for more details. --> | |||
==== circular layout ==== | ==== circular layout ==== | ||
Circular layout arranges nodes on one or more circles, based on the connectedness in the network. | |||
<!-- See the circular layout [[circular layout|concept page]] for details. --> | |||
==== random layout ==== | ==== random layout ==== | ||
Random layout assigns a random position for each node. | |||
=== link routing === | === link routing === | ||
Links are re-routed to avoid overlap between nodes and links, by introducing or moving bend-points of links. | |||
<!-- See the link routing [[link routing|concept page]] for details on available options. --> | |||
=== label placement === | === label placement === | ||
rearranges label positions to avoid overlap with nodes and links. | |||
== mapping == | == mapping == | ||
Methods in the mapping category are all used to map attribute values to visual attributes of the network diagram. | |||
Graphical attributes are [[#color|color]], [[#size|size]], and [[#label|labels]]. These are available for both nodes and links. | |||
Mappings only available for nodes are the mappings to the geometrical attributes [[#coordinates|coordinates]], and the [[#z-layer|order]] in wich nodes are rendered. | |||
==== color ==== | ==== color ==== | ||
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. | |||
==== size ==== | ==== size ==== | ||
A mapping for node and link attributes to node area, width or height, or link width. | |||
This mapping is only allowed for numerical attributes. | |||
==== label ==== | ==== label ==== | ||
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. | |||
==== coordinates ==== | ==== coordinates ==== | ||
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. | |||
==== z-layer ==== | ==== z-layer ==== | ||
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. | |||
== geometry == | == geometry == | ||
The geometry category provides mechanisms to alter the layout of a network by means of purely geometric operations, so called affine transformations. | |||
=== affine transformations === | === affine transformations === | ||
Affine transformations provided in visone are translation, rotation, scaling and reflection. | |||
=== procrustes analysis === | === procrustes analysis === | ||
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. |
Latest revision as of 08:19, 18 March 2015
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;
layout
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.
node layout
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
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.
backbone 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
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
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
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
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.
Note that dynamic layout can only be applied to network collections. Also, visone provides animation of the sequence via the icon in the toolbar.
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.
spring embedder
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
Spectral layout computes positions based on Eigenvectors of a networks adjacency matrix or the corresponding Laplacian.
circular layout
Circular layout arranges nodes on one or more circles, based on the connectedness in the network.
random layout
Random layout assigns a random position for each node.
link routing
Links are re-routed to avoid overlap between nodes and links, by introducing or moving bend-points of links.
label placement
rearranges label positions to avoid overlap with nodes and links.
mapping
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.
color
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.
size
A mapping for node and link attributes to node area, width or height, or link width. This mapping is only allowed for numerical attributes.
label
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.
coordinates
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.
z-layer
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.
geometry
The geometry category provides mechanisms to alter the layout of a network by means of purely geometric operations, so called affine transformations.
affine transformations
Affine transformations provided in visone are translation, rotation, scaling and reflection.
procrustes analysis
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.