Addon:NetworkChart
Network Chart is a website plugin for Gramps. The objectives of Network Chart:
- Generate a single graph showing connectivity between individuals
- Clickable nodes (individuals) that contain a hyperlink for a visual index
- Display connectivity paths and highlight them
The default output is a Scalable Vector Graphics (SVG) file that can be viewed in a browser. Network Chart uses the python networkx module to assist in selecting what to display and the pygraphviz module to generate the chart.
To start the Network Chart plugin use the following menu option Reports > Web Pages > Network Chart...
Prerequisites
Requires the following to be installed:
pip install networkx
To get "libcgraph" for pygraphviz you first need to install the development package of graphviz eg:
apt install graphviz-dev
or
dnf install graphviz-devel
then run:
pip install pygraphviz
Usage
Main
The main menu (see image on left) controls the output filename, folder, and chart title. The filename defaults originally to the database name + '_network' with '.svg' added automatically on output. The Chart Title defaults to the database name and the folder to the top level user default home. Once an entry is changed it will be remembered and used for the next time as well. Clearing the entry will set it back to default. Additionally, name and date formats for the chart can be modified using the Gramps available formatting.
Graph style menu selects the type of connectors with choices being Orthogonal, Straight, and Curved. In the example default output shown on the right, the default orthogonal option was selected resulting in straight connectors with right angles. Graphs with over 1500 people should probably use the Curved or Straight options with noticeable reduction in the time needed for graph generation. Graph direction controls which of the four different orientations to use.
URL Style selects one of Database, Dynamic, Static, or None (Don't include). This option selects what hyperlink will be used for individual nodes when the SVG chart is viewed from a browser. The Database option will select the primary URL from the database if one is available or none if it is not. Dynamic will use the URL Prefix, Suffix from the next line in the Menu and the GrampsID of the node. The Example Default Output chart shown includes dynamic URL's. For example, Henry Webb in the database has GrampsID = I0125. So the URL for that node will have the prefix of 'https://mywebsite.com/home/' and the suffix '.html' yielding a node with a link to 'https://mywebsite.com/home/I0125.html'. The dynamic URL changes for every node. A static URL will use only the URL Prefix and the Don't Include URL or None will not place any link in the nodes.
The font selection is straightforward. Obtain the name of the font that you wish to use and type it in the entry box. The only requirement is that the font already be installed on your system. If the font is not found then a default font will be used. This is a silent operation and will not warn on a font not found. When the SVG graph is generated that font will be identified for use, however, if someone viewing the chart does not have the same font installed they will see their default font instead. Embedding fonts in SVGs or making them a local access is possible but beyond the scope of this plugin. The default font is White Rabbit by Matthew Welch which is an extremely readable font. It can be obtained from https://www.fontsquirrel.com/fonts/white-rabbit and the license found at http://www.squaregear.net/fonts/license.shtml .
The Spacing option controls the space between "generations" of nodes. It can be anywhere from 0.1 - 5.0 inches. Finally, the Different Node Shapes for gender controls the box shapes and makes the Male and Female box shapes different. This is the default selection but can be turned off.
Color
The Color Menu controls most of the colors on the chart. The SVG background is transparent so the background color you see is the default background color of your browser. The options are self explanatory for the most part. An alpha is used for the individual node backgrounds. Setting this to 0 will make the node background completely transparent. Setting it to 255 will make it completely solid (opaque). This allows for the generated SVG network chart to be displayed over a background image that can be seen.
Connector lines are just that, the connecting lines from node to node for a family connection or marriage. The Highlight connector line is used for a highlighted path as discussed in the Highlight Menu section. The Trim box edge is used for nodes in the graph that have been "trimmed" as discussed in the Trim Menu section.
Privacy
Trim
Trim Descendants This option attempts to trim all descendants "below" the selected individuals. Individuals by marriage can also be removed. If an individual is connected by another path or branch they will not be removed.
Trim Ancestors This option attempts to trim all ancestors "above" the selected individuals. Individuals by marriage can also be removed. If an individual is connected by another path or branch they will not be removed.
Trim Groups This option will trim smaller groups/trees that are disconnected. You must enter the minimum number of individuals in a group/tree to display. For databases with more than 1500 individuals this option is required and the minimum number is set to 2. This will force all disconnected single individuals to be removed from the graph. Selecting a number greater than the largest group/tree will return only the largest tree or those trees that are equal in size.
Highlight
Show Path Only This is the last method to select what portion of the database to display. The choices are "Direct" or "Any". The Direct option will attempt to find a direct path between the two individuals selected and display only that path. The Any option will attempt to find any path between the two selected individuals and display only that path.
Center Person This is an option in selecting the portion of the database to display. Selecting a center person and radius for the graph will isolate the graph to just that selected person and anyone within the radius. The radius is the maximum allowable steps or edges between the center person and anyone else in the graph. All others outside of the maximum steps or edges will not be shown. Any connection via parent, child, or marriage counts as a step or edge.


