I have graphs created with Graph that display OK when shown individually,
but when I put them in GraphicsRow, they get compressed and the vertex
labels become illegible.
This displays fine - labels are readable
(* Create vertices *)
vertices = {{}, {2}, {3}, {4}, {2, 3}, {2, 4}, {3, 4}, {2, 3, 4}};
(* Example edges *)
edges = {{2, 3} -> {2}, {2, 4} -> {4}};
(* Create labels with subscripts *)
labels = {
{} -> "",
{2} -> Placed[Subscript[i, 12], Above],
{3} -> Placed[Subscript[i, 1], Above],
{4} -> Placed[Subscript[i, 2], Above],
{2, 3} -> Placed[Row[{Subscript[i, 12], Subscript[i, 1]}], Below],
{2, 4} -> Placed[Row[{Subscript[i, 12], Subscript[i, 2]}], Below],
{3, 4} -> Placed[Row[{Subscript[i, 1], Subscript[i, 2]}], Below],
{2, 3, 4} -> Placed[Row[{Subscript[i, 12], Subscript[i, 1], Subscript[i, 2]}], Below]
};
(* Create graph with fixed size *)
g1 = Graph[vertices, edges,
VertexLabels -> labels,
VertexSize -> 0.4,
GraphLayout -> {"LayeredDigraphEmbedding", "Orientation" -> Top},
ImageSize -> {300, 300},
ImagePadding -> {{40, 40}, {30, 30}}
]
(* Create three copies for demonstration *)
g2 = g1;
g3 = g1;
(* THIS IS THE PROBLEM: graphs get compressed, labels overlap *)
GraphicsRow[{g1, g2, g3}, Spacings -> 20]
How can I make GraphicsRow display each graph
without compression, so the labels remain readable?

ImageSize -> {3*300, 300}to theGraphicsRow? Since you haveImageSize -> {300, 300}for each of the three graphs. $\endgroup$Pane[GraphicsGrid[{{g1, g2, g3}}, ImageSize -> 1000], Full, ImageSizeAction -> "ShrinkToFit"]? I don't see how to get the graphs small enough without compression if three of them are wider than the window. The compression byPane[]is different from that byGraphicsGrid[]. Or maybe you could use a wider window. I believe the window width is a factor here, but you haven't indicated what it is. Maybe it's not. $\endgroup$