Graph topic panel
Graph topic panel is one of the several available topic panels in Wandora. The graph topic panel views topics as graph nodes and associations as edges between the topic nodes. A node is a colored rectangle with topic's name. The color represents a class of the topic. The edge is a colored line between nodes. The color of the line represents association's type. Association type and roles are viewed when user takes the mouse pointer over line. If association connects more than two topics i.e. it is a hyper-edge, the line branches to each topic node. Next image views an example of graph topic panel.
Activating the graph topic panel
The graph topic panel is not a default visualization in Wandora and the user has add the graph topic panel into the Wandora. A graph topic panel is added to the Wandora by selecting a menu option View > New panel > Graph. The user may add several independent graph topic panels into the Wandora.
Editing topics in the graph
The graph topic panel doesn't allow the user to edit topic's internals. To edit topic's internal structures you need to change topic panel to Traditional or Tabbed topic panel. However, the graph topic panel allows the user to apply topic editing options to a set of node selection. These topic editing options locate in the context menu, below menu option Topics. For example, context menu option Topics > Base names > Modify base names with a regex applies given regular expression into the topic in selection and possibly alters base names.
See chapter Mouse modes below to get familiar with the association drawing.
The graph is force-directed i.e. nodes are assigned forces based on their positions, and these forces have an effect to the motion of the nodes.
Thus, the graph is animated and node positions change automaically. As the time passes, the graph gets usually clearer and finds a balance. However, some times when nodes have very much edges, the graph may end up animating very rapidly and the animation looks like a random mess. In this case it is good to stop the animation and filter out some edges.
Moving and zooming the graph
The user can zoom in and out the graph. To zoom the graph, user should use the mouse wheel or the magnifier button widget in the buttonbar to the left of the graph.
To center the graph, the user can select context menu option Center graph or click Center current topic node button. If you have closed or filtered the current topic node, centering doesn't work.
To move the complete graph the user should have the mouse move mode activated, and drag the graph background with the mouse. To rotate the graph the user should keep SHIFT key pressed while dragging the graph background woth the mouse.
To move single node the user should have the mouse move mode activated, and drag the node rectangle. As the graph is force-directed, moving a node may drag other nodes into other positions.
See chapter Mouse modes below.
Expanding the graph
A fresh graph topic panel views a topic with it's immediate topic neighbours in the panel. The user can expand the graph either by expanding graph nodes and by sending topics to the graph.
A graph node is extended by right mouse clicking it and choosing a context menu option Expand node.
A topic is sent to a graph with a topic context menu option Open topic in > Graph w .... Topic context menu options Open topic in can be found in many places in the application, in the topic tree, for example.
To expand nodes recursively the user can choose a context menu option Expand nodes recursively. To make recursive expansion, the user must enter a recursion depth. Recursion depth is a positive integer number usually bigger that 1.
A graph node is closed by selecting the menu option Close nodes in context of the node. Closed nodes can be opened again.
To close all nodes but the current, the user can choose context menu option Close all nodes but.
Hyperbolic projection and projection curvature
The graph topic panel views the graph in a 2D-hyperbolic projection. Hyperbolic projection views nodes in the center bigger. The user can change the strength of the hyperbolic perpective. The strength, or curvature, is changed by rolling the mouse wheel while the SHIFT key is pressed down. Also, the curve widget button can be used to change the hyperbolic strength. If the hyperbolic strength, curvature, is large enough, Wandora views a graph horizon, a grey circle around the graph. No node and no edge can ever cross the graph horizon.
Next two images view same graph with two different projection curvatures. Projection curvature of the first graph is 84 while the projection curvature of latter graph is 1. The grey circle around the first graph is the graph horizon. The user should notice that the projection of latter graph is nearly a plane projection.
Animation and framerate
The graph is animated by default. To stop the graph animation, the user can right click the topic panel and choose context menu option Toggle animation. Choosing the menu option while the animation is stopped, starts the animation.
Animation framerate is 25 frames per socond by default. Real framerate is viewed at the bottom right corner of the graph topic panel. User's computer and the graph size sets limits to the real framerate.
Sometimes while viewing a large graph it may be handy to lower the framerate of the graph topic panel. Framerate is changed with the fps button widget on the right side of the panel. Framerate also affects the responsivity of user interactions. Thus, with a small framerate, moving the graph feels like a stop motion animation.
The graph is animated by default. Sometimes the user may want to lock the position of some nodes while the rest of the graph is still animated. This position locking is called pinning. To pin a node the user can right mouse click over a node, and choose menu option Pin nodes > Set selection pinned. A pinned node has an emphasized black edge.
To release pinning of a single node the user should select menu option Pin nodes > Set selection unpinned.
To pin all nodes the user should select menu option Pin nodes > Set all pinned. To release all pinned nodes the user should select menu option Pin nodes > Set all unpinned. To reverse the pinning status of all nodes the user can select menu option Pin nodes > Reverse pinning.
Filtering nodes and edges
Usually the graph becomes very dense if the user open hundreds of nodes. The user can filter out unwanted nodes with context menu options below Filter nodes and unwanted edges with context menu options below Filter edges.
To release filtered nodes the user can choose menu option Clear all node filters. Similarly, all edge filters are released by choosing a menu option Clear all edge filters. To release a specific filter, the user should use menu options below Release node filters and Release edge filters.
The user can select to view filter status top right corner of the graph topic panel by choosing a context menu option Options > View filter info. Choosing the menu option again hides filter status text.
On the left side of the graph panel locates mouse mode buttons. A mouse mode defines how the graph topic panel interprets mouse clicks, mouse movements, and mouse drags. Available mouse modes are:
- Move mode
- Select mode
- Association mode
While the move mode is active, the mouse moves the graph and the graph nodes.
To drag the graph, press left mouse button on the panel background, keep the mouse button down and move the mouse.
To rotate the graph, keep SHIFT key pressed while dragging the mouse over the panel background. The graph is rotated around the current node.
To move a single topic node, press left mouse button over a node, keep the mouse button down and move the mouse. Notice, the node may change it's position after you have eleased the mouse button as the graph has it's own dynamics.
To lock a position of a node on graph, select context menu option Pin nodes > Set selection pinned over the node. To release a pinned node, select context menu option Pin nodes > Set selection unpinned. Pinning and unpinning nodes works in all mouse modes.
The select mouse mode enables the user to draw closed paths on the graph panel. The graph panel selects nodes within the closed curve. Selected nodes are colored gray-blue.
To select single node the user can also click on the node. Previous selection is cleared unless the user holds the SHIFT key pressed while clicking on the node.
To select nodes of certain type or with certain property, the user can use selection tools found in the Select menu. Available selection tools allow the user to select topics without classes or instances, for example. The select menu is available in all mouse modes.
While the association mouse mode is active, the mouse behavior resembles move mouse mode except that clicking left mouse button over a node activates Draw association. To draw an association the user should press left mouse button over a topic node and drag the mouse over another topic node. A line is drawn from the source node to the mouse pointer during drag. When the user releases the mouse button over a node, an association editor is viewed. By default the association editor views addressed topics as association players. To create a valid association the user should choose association type and roles, and confirm association creation.
Exporting the graph
To export the graph the user can select context menu options under Export graph as. Context menu is revealed by right mouse clicking the graph.
Available export formats are DOT, GraphML, GraphXML and GML.
Only visible nodes and edges are exported.
The user should not mix these Export graph as options with options that locate under Topics > Export. Latter options sees the graph as a topic collection and exports topics.
To copy the graph as an image to the system clipboard the user can use context menu option Copy as image. The user can then paste the image to a word processor, for example.
- Traditional topic panel
- Tabbed topic panel
- Custom topic panel
- Treemap topic panel
- R topic panel
- Processing topic panel
- Sketch grid
- Tree panel
- Search panel
- Layer info panel
Beside the graph topic panel, Wandora features an embedded server with a D3 graph service module that implements an alternative graph visualization.