admin管理员组

文章数量:1022452

Using Graphviz, I have run (again) into the problem that the edges overlap so much that they look like a wide line.

So my idea was to generate a svg image, import the image in Inkscape and then just rearrange things a bit - as would do in Visio or LibreOffice Draw.

However, that is not possible, because the objects (lines, shapes...) are not "dynamic". If I pull a shape, only the shape moves. If I pull an edge, only the edge moves. I expect the things to remain connected somehow, and when I pull a shape with N edges, all edges will be redrawn by Inkscape, while remaining connected to their shapes.

Additionally, I already tried the other layout engines (neato, fdp etc.), but the result was underwhelming.

The purpose is to make the diagram readable, not to make it perfect (even though perfection would be nice too).

So, is there a way to achieve my purpose? To make a more complex diagram readable? Which options should I use? Is there a better format than SVG for this purpose? I could not find one.

NOTE: I mention Inkscape because this is what I have at hand, that is better than MS Paint.

NOTE: A similar behavior (as I need) is also implemented in electronic design software, like Proteus or Orcad.

Using Graphviz, I have run (again) into the problem that the edges overlap so much that they look like a wide line.

So my idea was to generate a svg image, import the image in Inkscape and then just rearrange things a bit - as would do in Visio or LibreOffice Draw.

However, that is not possible, because the objects (lines, shapes...) are not "dynamic". If I pull a shape, only the shape moves. If I pull an edge, only the edge moves. I expect the things to remain connected somehow, and when I pull a shape with N edges, all edges will be redrawn by Inkscape, while remaining connected to their shapes.

Additionally, I already tried the other layout engines (neato, fdp etc.), but the result was underwhelming.

The purpose is to make the diagram readable, not to make it perfect (even though perfection would be nice too).

So, is there a way to achieve my purpose? To make a more complex diagram readable? Which options should I use? Is there a better format than SVG for this purpose? I could not find one.

NOTE: I mention Inkscape because this is what I have at hand, that is better than MS Paint.

NOTE: A similar behavior (as I need) is also implemented in electronic design software, like Proteus or Orcad.

Share Improve this question edited Nov 19, 2024 at 9:11 virolino asked Nov 19, 2024 at 8:32 virolinovirolino 2,2377 silver badges26 bronze badges 2
  • 1 This question has no source code and is better suited for the Graphviz forum (forum.graphviz.). See also gitlab/graphviz/graphviz/-/issues/2310 – sroush Commented Nov 19, 2024 at 15:13
  • @sroush: I was so uncomfortable and confusing reading the gitlab page: Almost as if written by me, but I did not write it :) Please make your comment into an answer, and I will accept it, and close the issue. At least we know the current status. Even though "2 years ago" (the age of the message on gitlab, as of today) is not very encouraging. – virolino Commented Nov 20, 2024 at 6:54
Add a comment  | 

1 Answer 1

Reset to default 1

svg is probably as good as it gets for an output format. Bitmapped formats seem out of the question.

This question is better suited for the Graphviz forum (forum.graphviz.). There is an outstanding Graphviz issue about this need, see https://gitlab/graphviz/graphviz/-/issues/2310 and https://forum.graphviz./t/svg-file-editing-tool/1332

Note that there are some Graphviz attributes (such as ranksep, nodesep, minlen, and group) that should allow you to reduce the problem of overlapping edges.
If you post an example here or on the Graphviz forum, you might be pleasantly surprised with the result.

Using Graphviz, I have run (again) into the problem that the edges overlap so much that they look like a wide line.

So my idea was to generate a svg image, import the image in Inkscape and then just rearrange things a bit - as would do in Visio or LibreOffice Draw.

However, that is not possible, because the objects (lines, shapes...) are not "dynamic". If I pull a shape, only the shape moves. If I pull an edge, only the edge moves. I expect the things to remain connected somehow, and when I pull a shape with N edges, all edges will be redrawn by Inkscape, while remaining connected to their shapes.

Additionally, I already tried the other layout engines (neato, fdp etc.), but the result was underwhelming.

The purpose is to make the diagram readable, not to make it perfect (even though perfection would be nice too).

So, is there a way to achieve my purpose? To make a more complex diagram readable? Which options should I use? Is there a better format than SVG for this purpose? I could not find one.

NOTE: I mention Inkscape because this is what I have at hand, that is better than MS Paint.

NOTE: A similar behavior (as I need) is also implemented in electronic design software, like Proteus or Orcad.

Using Graphviz, I have run (again) into the problem that the edges overlap so much that they look like a wide line.

So my idea was to generate a svg image, import the image in Inkscape and then just rearrange things a bit - as would do in Visio or LibreOffice Draw.

However, that is not possible, because the objects (lines, shapes...) are not "dynamic". If I pull a shape, only the shape moves. If I pull an edge, only the edge moves. I expect the things to remain connected somehow, and when I pull a shape with N edges, all edges will be redrawn by Inkscape, while remaining connected to their shapes.

Additionally, I already tried the other layout engines (neato, fdp etc.), but the result was underwhelming.

The purpose is to make the diagram readable, not to make it perfect (even though perfection would be nice too).

So, is there a way to achieve my purpose? To make a more complex diagram readable? Which options should I use? Is there a better format than SVG for this purpose? I could not find one.

NOTE: I mention Inkscape because this is what I have at hand, that is better than MS Paint.

NOTE: A similar behavior (as I need) is also implemented in electronic design software, like Proteus or Orcad.

Share Improve this question edited Nov 19, 2024 at 9:11 virolino asked Nov 19, 2024 at 8:32 virolinovirolino 2,2377 silver badges26 bronze badges 2
  • 1 This question has no source code and is better suited for the Graphviz forum (forum.graphviz.). See also gitlab/graphviz/graphviz/-/issues/2310 – sroush Commented Nov 19, 2024 at 15:13
  • @sroush: I was so uncomfortable and confusing reading the gitlab page: Almost as if written by me, but I did not write it :) Please make your comment into an answer, and I will accept it, and close the issue. At least we know the current status. Even though "2 years ago" (the age of the message on gitlab, as of today) is not very encouraging. – virolino Commented Nov 20, 2024 at 6:54
Add a comment  | 

1 Answer 1

Reset to default 1

svg is probably as good as it gets for an output format. Bitmapped formats seem out of the question.

This question is better suited for the Graphviz forum (forum.graphviz.). There is an outstanding Graphviz issue about this need, see https://gitlab/graphviz/graphviz/-/issues/2310 and https://forum.graphviz./t/svg-file-editing-tool/1332

Note that there are some Graphviz attributes (such as ranksep, nodesep, minlen, and group) that should allow you to reduce the problem of overlapping edges.
If you post an example here or on the Graphviz forum, you might be pleasantly surprised with the result.

本文标签: Is there a modifiable layout option for Graphviz To make the output readableStack Overflow