Can I glue two graphs at a vertex?

Can I glue two graphs at a vertex? That is for 2 diagrams consisting of shapes and lines between them can I “merge” two of the shapes into a single shape and take all lines that were incident to one of the two shapes and make them incident to the new contracted node (shape)?

From that poor description, no. Please post the diagram, to obtain a better answer.

I MergeLayerDown all the time, but that is with experience, and the content of the Layers is planned beforehand.


Hard to quite understand exactly what you want to do. Are you trying to combine two layers or two canvas?

Almost sounds like what you want to do is group the items to copy and then paste those onto your other drawing. Then they can be moved as necessary to align them.

Is that even close to what you were asking?

I meant contraction for graphs

So I have a graph consisting of circles (using shape tool) for nodes and edges drawn with the line tool and I would like to perform graph contraction. Obviously I have just delete and redraw all the edges but I was wondering if there was a simple and less error prone way.


Separately, to make your life of manual consolidation a bit easier, use Layers. Get some experience douing this:

  • Duplicate the Layer containing the graph
  • Lock the lower Layer and play with the upper Layer
  • Lock the upper Layer and play with the lower Layer
  • with both Layers Unlocked, join something from the upper Layer to something on the lower Layer
  • vice versa
    Once you have that, experiment with MergeLayerDown.


I do understand the problem. But I doubt doing it in OmniGraffle is optimal.

Text-based methods, such as digraph, might be better. Even if that means (somehow) exporting from OmniGraffle, doing the merge and reimporting. (And you’d probably lose positioning information - which you’d have to do anyway.)

How do you intend to control which nodes get merged? Possibly by name but that has its own problems.