This is a Howto on how to make a relationship chart (can be ancestors, descendants, ...) with GRAMPS 2.2.x. and the Relationship plugin.[[Image:RelationshipChartDescendants.png|right|thumb|200px|An example chart]]

−

−

{{languages|Howto: Make a relationship chart}}

{{languages|Howto: Make a relationship chart}}

+

This is a Howto on how to make a relationship chart (can be ancestors, descendants, ...) with GRAMPS 2.2.x. and the Relationship plugin.[[Image:RelationshipChartDescendants.png|right|thumb|300px|An example chart]]

The report is made with the graphviz backend, so you need to install [http://graphviz.org graphviz] (on linux, use your package manager).

The report is made with the graphviz backend, so you need to install [http://graphviz.org graphviz] (on linux, use your package manager).

Download [http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/example/gramps/data.gramps?view=markup&pathrev=10822 example.gramps], on this page use the {{man label|Download}} link, create a new database in GRAMPS called example.grdb, and import the example.gramps data into it.

+

Download [http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/example/gramps/data.gramps?view=markup&pathrev=10822 example.gramps], on this page use the {{man label|Download}} link, create a new database in GRAMPS called example, and import the example.gramps data into it.

If not the case, set the active person to ''Garner, Lewis Anderson''.

If not the case, set the active person to ''Garner, Lewis Anderson''.

To make a descendant chart with the relationship report, choose the menu item

To make a descendant chart with the relationship report, choose the menu item

−

'''Reports -> Graphical reports -> Relationship graph...'''

+

{{man menu|Reports -> Graphical reports -> Relationship graph...}}

In the dialog, set the format to .png and chose the following in the tabs available:

In the dialog, set the format to .png and chose the following in the tabs available:

#'''Paper Options '''-> Size : Custom Size (Set width and height to 10000 cm, or some other large value)

#'''Paper Options '''-> Size : Custom Size (Set width and height to 10000 cm, or some other large value)

Select in file format: graphviz file, which defaults to the gv extension. This file

+

is then a dot file which can be processed by graphviz.

+

+

Eg, to make from the gv file a ps file, Gramps uses:

+

+

dot -Tps:cairo -o"file.ps" "file.gv"

+

+

for svg:

+

+

dot -Tsvg -o"file.svg" "file.gv"

+

+

Choose the filter you want to use, and set also as many of the other options as possible to the desired values (as explained in Example 1-A)

−

Choose the filter you want to use, and set also as many of the other options as possible to the desired values (as explained in Example 1-A), but the format should be "Graphviz (dot)". Click Ok. You should now have a file of type ".dot".

This file is a text file, so it can be opened in any text-editor.

This file is a text file, so it can be opened in any text-editor.

Line 189:

Line 196:

Using device: jpg:cairo:gd

Using device: jpg:cairo:gd

...

...

+

+

== Printing large graphs ==

+

If you want to print large graphs (especially with photos and other details) in reasonable readable quality, the following steps should work:

+

# In Document Options choose SVG as output format.

+

# Setup paper format to fit graph into one sheet (SVG cannot handle more than one sheet), so choose A0 or custom size.

You now have a large poster you could print. Inkscape cannot tile PDF for printing large graphs on many A4/A3 sheets, so you must use another software to do it for you. At home, you can print this on multiple A4/A3 sheets with other programs:

+

* In Linux, the poster command line utility can split a poster over A4/A3/Letter.

*# Read the man page, to eg split an A0 poster which is in postscript format, over 16 A4 do:

+

poster -iA0 -mA4 -pA0 posterA0.ps > posterA4.ps

+

* For Linux, Windows and Mac, you can also use the program [http://posterazor.sourceforge.net/ PosterRazor], which has an easy to use interface.

+

* For Windows, you can use [http://www.noliturbare.com/pdf-tools/pdf-tiler Govert's PDF Tiler] (can maybe run on Linux too using [http://www.mono-project.com/Main_Page Mono], needs .NET 1.1)

== Troubleshooting ==

== Troubleshooting ==

*If you encounter bad fonts (missing characters) or wrong fontsizes, see Example 3 on how you can set the font yourself.

*If you encounter bad fonts (missing characters) or wrong fontsizes, see Example 3 on how you can set the font yourself.

*If you have a bad resolution of png, eg unreadable text, this is probably because you have set a paper size which is to small. See Exampe 1-A: set the papersize of number of pages to a high number, but select in '''Layout Options''', in Aspect ratio: <tt>automatically use optimal number pages</tt>, or use <tt>minimal size</tt>

*If you have a bad resolution of png, eg unreadable text, this is probably because you have set a paper size which is to small. See Exampe 1-A: set the papersize of number of pages to a high number, but select in '''Layout Options''', in Aspect ratio: <tt>automatically use optimal number pages</tt>, or use <tt>minimal size</tt>

Filters: what persons to print ?

What are filters?

In GRAMPS you can define filters to make a selection of individuals, see Examples of filters. In the relationship chart all custom person filters you made will be available, as well as the standard descendants and ancestors filters. These last start from the active person.

Tip

You can add to a family stepchildren by setting the relationship of the child to the mother to step child. In doing so, these children will be part of a descendant report without the need to create a custom filter to include them.

How many people ?

Your filter can contain as many people as you want. Note however that printing or viewing of large charts can be very problematic.

Example 1-A: a descendant chart

A descendant chart, click for details

Download example.gramps, on this page use the Download link, create a new database in GRAMPS called example, and import the example.gramps data into it.

If not the case, set the active person to Garner, Lewis Anderson.

To make a descendant chart with the relationship report, choose the menu item
Reports -> Graphical reports -> Relationship graph...

In the dialog, set the format to .png and chose the following in the tabs available:

Paper Options -> Size : Custom Size (Set width and height to 10000 cm, or some other large value)

Report Options -> Filter: Descendants of Garner, Lewis Andersson

Layout optons -> Aspect ratio: minimal size

(I sometimes experience problems setting the sizes in the Paper options dialog. A workaround is to use the example using graphviz code in example 3 below.)

The result (using gramps 2.2.7) can be seen to the right. You can use print this on a dedicated printer (check dpi of png!), or you can use this image on a website to share. In the last case, you can use the trick explained in Make flash plugin from a png, to make the resulting graph easier to navigate.

In the image you see males in blue, females in pink and the yellow balloons indicate a family node in which a marriage date is printed (if known). You can select not to see this family node by deselecting in the Graphviz Options tab the option Show family nodes.

Make sure that "At least one rule must be fulfilled" is chosen, so that we get both ancestors and descendants!

Now we create the filter we will actually use for the report. It will be based on the previous filter: Create a new filter, called Frances2. This filter should contain the rules:

People matching the filter, choose Frances1

Parents of filter Frances1

Siblings of filter Frances1

Spouses of filter Frances1

Now close the filter editor, and follow the instructions given in Examples 1a and 1b, but this time choosing the filter Frances2 in the Report Options tab.

The result is visible to the right (363kb, large file !)

Example 3, Generating the graph by using the Graphviz command line tool

Note: The current stable version of Graphviz (v2.12) has a bug. In order to correctly display the family nodes (yellow balloons), all occurrences of the word ellipse should be changed to egg (see bug report 1078).

In the menu, select Reports -> Graphs -> Relationship Graph....

Select in file format: graphviz file, which defaults to the gv extension. This file
is then a dot file which can be processed by graphviz.

Eg, to make from the gv file a ps file, Gramps uses:

dot -Tps:cairo -o"file.ps" "file.gv"

for svg:

dot -Tsvg -o"file.svg" "file.gv"

Choose the filter you want to use, and set also as many of the other options as possible to the desired values (as explained in Example 1-A)

This file is a text file, so it can be opened in any text-editor.

Manual changes

The dot file is a text file with a well explained structure, for extra info: www.graphviz.org

For paper size: look for the "page" (paper size) and "size" (area of paper to use), and change these to some large values. This is important as otherwise the figure will be wrongly scaled giving bad picture quality (eg unreadable text).

You can also change the font by adding a font family. Look for the lines

node [style=filled fontsize="12"];

and change that into eg

node [style=filled fontsize="12" fontname="Sans"];

to use the Sans font. On the command line you will see which ttf font Graphviz finds on your PC (using the verbose flag, see below).

Generation of the Image

Save the modified file under the name report.dot, and run the command

dot -Tpng -oreport.png report.dot

This should use the graphviz "dot" tool to generate the .png file containing the report.

To see information messages (like font) use the -v flag. You can also output other image formats, eg, for jpeg with verbose output:

You now have a large poster you could print. Inkscape cannot tile PDF for printing large graphs on many A4/A3 sheets, so you must use another software to do it for you. At home, you can print this on multiple A4/A3 sheets with other programs:

In Linux, the poster command line utility can split a poster over A4/A3/Letter.

Troubleshooting

If you encounter bad fonts (missing characters) or wrong fontsizes, see Example 3 on how you can set the font yourself.

If you have a bad resolution of png, eg unreadable text, this is probably because you have set a paper size which is to small. See Exampe 1-A: set the papersize of number of pages to a high number, but select in Layout Options, in Aspect ratio: automatically use optimal number pages, or use minimal size

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).

Further cool things to do

You can make descendant charts and add them to the media gallery of the person. Like that, the chart is available from the website.