Open main menu

Gramps β

Addon:D3 Ancestral and Descendant Charts


Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.

The D3 Ancestral and Descendant Charts addon consists of three(3) Web based reports:

Each chart used the D3.js library for its layout which are SVG based and provide some really nice inter-activeness and animation.

Note the filtering is based off the text based Ancestry and Descendant Reports.

All of the reports generate JSON for ancestry/descendant's and could be easily customized for other usage.



Ancestral Collapsible Tree

Ancestral Collapsible Tree - example output

This report is available under the menu Reports > Web Pages > Ancestral Collapsible Tree...

A graphical representation of ancestry for a given individual.

By default up to Great Grandparents are displayed.

Clicking on an ancestor whom has further ancestors will either collapse or expand all ancestors for that person.

Specific customizable colors indicate whether there are further ancestors for a given person, and can be specified for maternal and paternal lines.

Ancestral Fan Chart

Ancestral Fan Chart - example output

This report is available under the menu Reports > Web Pages > Ancestral Fan Chart...

The Ancestral Fan Chart report illustrates an individuals ancestry by means of a full circle fan chart.

The initial display shows the filtered individual at the center of the fan chart.

Selecting individuals on the fan chart will result in that individual becoming the center person and a new fan chart is drawn dynamically indicating that persons ancestry.

Continuous selection of the center of the fan chart will eventually return you to the original filter person, a page reload will also do this.

Custom colors can be provided for paternal and maternal sides of the filtered person.

Descendant Indented Tree

Descendant Indented Tree - example output

This report is available under the menu Reports > Web Pages > Descendant Indented Tree...

The Descendant Indented Tree report is a graphical representation of the text based Descendant Report.

When clicking on a person if that person has further descendants, then the tree will dynamically expand or collapse depending on its current state.

As with the other reports some customizable colors can be specified at generation time. In this report they pertain to whether there are more descendants to view or not.


  • Charts appear without content - related to a security vulnerability update to Browsers. (i.e. local HTML files ought not to be authorized to open files from different sub-directories) This shouldn't be a problem once the files are uploaded to a server. It is just local mode that is affected. Workarounds for local mode available for:
    • set Firefox in about:config
      • before Firefox 95 : privacy.file_unique_origin flag to false
      • starting with Firefox 95 : security.fileuri.strict_origin_policy to false
    • Chrome launch flags:
      C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
  • Help buttons URL's on report dialogs do not lead here.
  • 9602: Descendant Indented Tree doesn't work with Chromium browser
  • 11800: D3 Chart update of d3.js and jquery libraries to newer versions
    • Uses D3.js version 3.4.5 (and not the current release)
    • Uses jquery v1.10.2 and 2.0.3 which are no longer supported or patched
    • Uses jquery-ui v1.10.4 which is also outdated
  • Does not work with MS-IE 11?[1]

If anyone is still facing the problem [with MS-IE 11] here is the solution:

Add this 2 lines to your html file.

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

If not IE doesn't understand the property CSSStyleDeclaration in your d3.js file.

See Also