Gramps 3.1 Wiki Manual - Reports - part 5
This section describes the different Graphs available in GRAMPS.
|Special copyright notice: All edits to this page need to be under two different copyright licenses:
These licenses allow the Gramps project to maximally use this wiki manual as free content in future Gramps versions. If you do not agree with this dual license, then do not edit this page. You may only link to other pages within the wiki which fall only under the GFDL license via external links (using the syntax: [https://www.gramps-project.org/...]), not via internal links.
Back to Index of Reports.
- 1 Graphs
- 1.1 Family Lines Graph
- 1.2 Hourglass Graph
- 1.3 Relationship Graph
This reports are related to GraphViz.
Reports and custom IDs
After a GEDCOM import, your database can use some non-standard IDs (ie. 123I or 456U not set on Edit --> Preferences --> Identifiants ID). If generated reports do not properly display data, then try Reorder GRAMPS IDs tool (Tools-->Database Processing-->Reorder GRAMPS IDs).
Family Lines Graph
The FamilyLines.py plugin was created to generate easy-to-follow graphs. Note that FamilyLines does not display all of the people in the database -- instead, this plugin generates smaller family trees, with many options to try and restrict the number of people included.
A typical use of this plugin is to generate simplified graphs printed on large plotters.
This plugin uses GraphViz. GraphViz takes the .gv files and creates the final files, such as .gif, .png, .pdf, .ps, etc. This first tab allows several GraphViz options to be set:
- Width: the width, in inches, of the final image. Set to a large number if generating .png or .gif files.
- Height: the height, in inches, of the final image. Set to a large number if generating .png or .gif files.
- DPI: dots-per-inch. Typically between 75 and 120 if generating .png or .gif files, but 300 or 600 if generating files to be printed.
- Row spacing: the whitespace to leave, in inches, between rows.
- Columns spacing: the whitespace to leave, in inches, between columns
- Graph direction: whether the tree grows from left-to-right, or right-to-left.
- Ratio: GraphViz uses this to determine how to position items. Only trial-and-error will help you determine the best option to use. (When in doubt, compress tends to work well.)
People of Interest
The FamilyLines.py plugin works by starting with a list of "people of interest". This initial list of people is then used to find both ancestors and descendants.
- People of interest: click on "+" and "-" to add/remove people of interest. When in doubt, try adding your grandparents as a starting place.
- Follow parents to determine family lines: when selected, this causes FamilyLines.py to follow the parents to determine the full list of people of interest. You most likely want this selected.
- Follow children to determine family lines: when selected, this causes FamilyLines.py to follow the children of the people of interest.
- Try to remove extra people and families: when selected, this option causes FamilyLines.py to aggressively attempt to remove extra ancestors and families from the family tree.
Select the colour to use for people with a specific surname. Click on "+" or "-" to add a surname. Double-click on a surname to edit the colour.
- Males, Females, Unknown: the colour to use for people whose surname doesn't match any of the names on the "Family Colours" tab.
- Families: the colour to use for families (weddings).
- Limit the number of parents: if selected, then the number of ancestors will be limited by the amount shown. This can only be selected if "Follow parents" has also been selected on the "People of Interest" tab.
- Limit the number of children: if selected, then the number of children will be limited by the amount shown. This can only be selected if "Follow children" has also been selected on the "People of Interest" tab.
- Include dates: date of birth, date of death, and marriage dates will be included in the graph when this is selected.
- Include places: place of birth, place of death, and place of marriage will be included in the graph when this is selected.
- Include the number of children: marriage text will include the total number of children when this is selected.
- Include researcher and date: a label will be placed at the bottom of the graph when this is selected.
- Include private records: people and events marked as private will be included in the graph when this is selected.
Once FamilyLines.py produces the .gv output file (defaults to ./familylines.gv), the GraphViz package will be necessary to create the final output file. If GraphViz isn't already installed, you can download it from http://www.graphviz.org/.
Some common examples of commands used to generate graphs from the familylines.dot file are:
dot -v -Tgif -ofamilylines.gif familylines.dot dot -v -Tpng -ofamilylines.png familylines.dot dot -v -Tpcl -ofamilylines.pcl familylines.dot dot -v -Tps -ofamilylines.ps familylines.dot
Generate an hourglass graph using the GraphViz generator.
User can set maximum Descendant Generations and maximum Ancestor Generations
The Relationship Graph creates a complex relationship graph in GraphViz format and then converts into graphical output running it through the GraphViz dot tool behind the scene. Specific options for this report include filter, options for dates and places for the events, and whether to include URLs and IDs for individuals and families. There are also several GraphViz-specific options related to pagination, color, and details of the graph. This plugin uses GraphViz. GraphViz takes the .gv files and creates the final files, such as .gif, .png, .pdf, .ps, etc.
Via the menu: Reports->Graphs->RelationshipGraph.... You will be presented a Relationship Graph window where you can change all the settings. The window is divided into two parts. One part provides for all the different tabs available, the other part has the Document Options.
This first tab as usual in reports regulates the Paper Format and the Margins.
A check box controles whether you have metric sizes or not.
Relationship Graphs can rapidly become very large.
Setting the paper format is essential for succes.
Some important options here:
- Filter: Standard options here are the entire database (not recommended!), Descendants of, Descendant families of, Ancestors of, People with common ancestor with, or a custum made filter.
- Filter Person: If you use a custom filter, no Person can be choosen. Otherwise choose the correct person here. There are several tick boxes here:
- Include Birth, Marriage and Death dates
- Limit dates to years only
- Use place when no date
- Include URLs
- Include IDs
- Include thumbnail images of people: checking this box gives you another input field Thumbnail Location
- Thumbnail Location: only active when last check box was checked: above or beside the name are the possibilities
- Graph coloring: Males will be shown in blue, females with red. If the sex of an individual is unknown it will be shown with gray. Options are:
- Colored outline
- B&W outline
- Color fill
- Arrowhead direction: Choose the direction that the arrow point: Descendants <- Ancestors, Descendants -> Ancestors, Descendants <-> Ancestors, Descendants - Ancestors
- Use rounded corners: Use rounded corners to differentiate between women and men
- Indicate non-birth relationships with dotted lines: No-birth relationships wiil shown up as dotted lines in the graph.
- Show family nodes: Families will show up as ellipses, linked to parents and children.
- Font family: Choose the font family. If international characters don't show, use FreeSans font. FreeSans is available from the NonGNU org.
- PostScript/ Helvetica
- True Type/ FreeSans
- Font size: The font size in points
- Graph Direction: Whether the graph goes from top to bottom or left to right
- Vertical (top to bottom)
- Vertical (bottom to top)
- Horizontal (left to right)
- Horizontal (right to left)
- Number of Horizontal Pages: GraphViz can create very large graphs by spreading the graph across a rectangular array of pages. This controls the number of pages in the array horizontally. Only valid for dot and pdf via Ghostscript.
- Number of Vertical Pages: GraphViz can create very large graphs by spreading the graph across a rectangular array of pages. This controls the number of pages in the array vertically. Only valid for dot and pdf via Ghostscript.
- Paging Direction: The order in which the graph pages are output. This option only applies if the horizontal pages or vertical pages are greater than 1.
- Aspect Ratio: Affects greatly how the graph is layed out on the page.
- Minimal Size
- Fill the given area
- Use the optimal number of pages
- DPI: dots-per-inch. Typically between 75 and 120 if generating .png or .gif files, but 300 or 600 if generating files to be printed. When creating images such as .gif or .png files for the web, try numbers such as 100 or 300 DPI. When creating PostScript or PDF, use 72 DPI.
- Node Spacing: The minimum ammount of free space, in inches, between individual nodes. For vertical graphs, this corresponds to spacing between columns. For horizontal graphs, this corresponds to spacing between rows. Default is 0.20.
- Rank Spacing: The minimum ammount of free space, in inches, between ranks. For vertical graphs, this corresponds to spacing between rows. For horizontal graphs, this corresponds to spacing between columns. Default is 0.20.
- Note to add to the graph: This text will be added to the graph
- Note Location : Whether the note will appear on top or bottom of the page
- Note size: The size of note text, in points
- Output Format: available formats are: PDF (both Ghostscript and GraphViz), PostScript, SVG, SVGz, JPEG, GIF, PNG and GraphViz gv file
- Filename: choose where the file will be saved and under which file name
If you use .gv files you must realize that those files are meant to be processed by other programs. By themselves, the files will not provide meaningful information; the files must first be processed by another program.
The GraphViz 'dot' tool can transform the graph into postscript, jpeg, png, vrml, svg, and other formats. GraphViz tools are freely available from the GraphViz site.
So make sure you have Graphviz installed. Use your package manager on Linux.
On Ubuntu Karmic the actual version is 2.20.3. The file is only 1.2 MB and provides a lot of commands like: dot, gvcolor, dijkstra ....
Ubuntu Gutsy users can get the deb package via Synaptic or the command line (actual version GraphViz 2.20)
If you are not interested in GraphViz code itself and just want to generate graphical output, GRAMPS can do it for you under the hood.
You can find a detailled explanation in a tutorial How to make a relationship chart
Let's make a simple example. We want a relationship graph with the Descendant Families of a certain person.
- First check that this person is the active person. (You change this later but this is handier)
- Go via the menu Reports->Graphs->Realtionship Graph...
- Papersize : A4 metric landscape: we know there will be not too much people on the graph, so this is ok
- Report Options: filter: Descendant Families of... check include dates, limited to years and we want ID's as well
- Graph Style : Color fill, ronded corners and show Family Nodes
- GraphViz Layout: Font size: 15 pts FreeSans Direction: top to bottom
- GraphViz Options: Fill given area dpi 133
- Note : we add title on the top size: 18 pts
- Output Format: we want a JPEG file and after making of the graph to open a Image Viewer.
The result you can see in the image on the right hand side..
Back to Index of Reports.