How to edit out the circles in the graph view

I found that I could position the ellipse between the father and mother by making a few changes to the .gv file. Corresponding changes could be made to the addon program so that there is no need to edit the .gv file.

For each family, there is a set of lines in the .gv file that looks like this:

subgraph cluster_d897668328b0a75e36f
{
style=“invis”;
_d897668328b0a75e36f → _d8d172a5ea107c0c94c [ arrowhead=none arrowtail=none color=“#2e3436” ];
_d8d16c16c645683ff65 → _d8d172a5ea107c0c94c [ arrowhead=none arrowtail=none color=“#2e3436” ];
}

The first line containing an arrow → links the father’s node to the family’s node. The second one links the mother’s node to the family’s node.

I changed them to look like this:

subgraph _d897668328b0a75e36f
{
style=“invis”;
rank=“same”;
_d897668328b0a75e36f → _d8d172a5ea107c0c94c [ arrowhead=none arrowtail=none color=“#2e3436” ];
_d8d172a5ea107c0c94c → _d8d16c16c645683ff65 [ arrowhead=none arrowtail=none color=“#2e3436” ];
}

The changes are:

  • remove the word “cluster” (because the next change, adding rank=“same”, doesn’t work with cluster subgraphs)
  • add rank=“same”;
  • switch the order of the second pair of nodes so that the family’s node links to the wife’s node instead of the other way around

You can try that for just one family and see if you like it. Unfortunately, the orthogonal lines to the children are still separate, not merged at the family node. But I think that could be achieved too, by specifying a port position. You can find documentation of the “dot” language used in .gv files here.

I haven’t tried changing the addon program, but I think the place would be in __add_family_links (lines 2806-2826). When it calls add_link the second time, I think you would need to switch the order of m_handle and fam_handle. Also, at the end of start_subgraph, following line 3252, I think you would need to add:
self.write(’ style=“invis”;\n’)
(with the same indentation as line 3252).

But again, I haven’t tried those changes!

1 Like

I totally agree with you, that’s why I think one or two Open-Data Open-Source interchangeable format would be great.
To have some kind of a network graph view that show more connections than just people, can be helpful, but don’t bloat Gramps with things that can be done better in other software.
Provide Gramps with some functions and features that allow a broader group of researchers to use Gramps, and perhaps some of these are also proficient Python and R developers who see profitability in helping with a bit of further development…?
(I put all my trust in CoPilot to get the last correctly translated from Norwegian :woozy_face:)

You can use Cytoscape, Gephi, Tulip and any other Network Graph Software that support gv files or dot files for that, some of them only support the dot format others only gv.
This type of programs/software will process the data as a network instead of graphics or diagrams, so you will be able to drag a node around on the ‘canvas’ or change the algorithms that are used. You will also be able to group the nodes into clusters to gather them, based on properties or attributes. Some of this software also have features to att images to the nodes etc.

But it is a job to learn to use those softwares to get the result you want, R and R-Studio is another solution that many use, but you will need to learn the R-language.

That probably works good for background square, image, but I doubt it work well with the connectors between two things (Person-Family) if you only move one of them? As the connector isnt flexible. Unless its something I have missed:

I tried installing Gephi and importing the .gv file, but it does not look like how Graph View displays it, at all,it just looks like dots with some connections. When trying do download Cytoscape and the plugin that is for Graphviz files, it just says something about having to run Graphviz “neato” before importing. Tried doing that, but the same message apears. I may try again later but gave up for now unless someone can point me to the right direction. I will be happy if someone do.

I am willing to learn to use some software, If it works, but I havent found anyone that does the way I want, yet.

Kind of what I want, is to export a file from Gramps (preferably Graph View) that I can import in to a program like Draw.IO or something simlilar, and then manipulate by moving things around, while they stay connected. I dont know what file format it would be but it probably exists.

There is a script both on pypi and on github that convert a graphviz file to a draw.io file…
you can find them here:
graphviz2drawio · PyPI

and here:


I have not tried any of them, so do not know how they work and what type of drawing they create in draw.io.

If you have installed GraphViz, you can use this command to convert the .gv file to gml format:

gv2gml -o filename.gml filename.gv

and then open the .gml file in yEd (desktop software) or yEd Live (web site).

Then you can drag things around as you wish.

But first you will need to apply a layout from the Layout menu. It won’t automatically appear as a family tree, because yEd only does that with .gedcom files. Try the Hierarchic layout.

Don’t mistake the following as being an attempt to discourage having this feature in Gramps.

But… have you looked at the ged2dot project? It already has a mode that collapses the ellipse to a small disc. Looking superficially, I don’t see a version that puts a node between the parents then drops orthogonal lines to the offspring. Since this project is focused on this style of illustration, they might be a faster approach to your goal.

This isn’t the only project that imports GEDCOM snippets for special diagrams.

I wish Gramps had a pipelining feature that would take a selection of people and push a simplified GEDCOM to an external application or website.

I do not believe it matters. The box around a person’s information can be grouped together so if you move it things stay together. A connector is another object no different than a box is an object and can be grouped together with the box.

If you need to make the connector longer, you could then ungroup it from the person’s infobox grouping to stretch the connector line.

Not saying it would be easy. But it is doable.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.