# How to draw hypercube graphs

I'd like to draw hypercube projections like those on the Wikipedia page: I tried with

HypercubeGraph


but the graph does not look right; it is not symmetric, it is rotated by some degrees and some vertices that should be merged together (represented on the above figure with different colors) are not. Then I found the Wolfram MathWorld page that suggests GraphData might be helpful.

GraphData[{"Hypercube", 6}, "EdgeRules"];
Graph[%]


Produces a similar graph as HypercubeGraph but now it is more symmetric.

GraphData[{"Hypercube", 6}, "EdgeList"];
Graph[%]


Produces a different graph, even more symmetric but the vertices are obviously still not merged: Since I'd like to draw several different hypercube graphs manually merging the vertices is not an option. What's the easiest way to draw symmetric hypercube graphs in Mathematica with some vertices merged like in the example from Wikipedia?

• There isn't even the same number of vertices in the outer ring.., I'm afraid that Mathematica can't do better than that. – Öskå May 20 '14 at 12:21
• Can you explain more about how you need the vertices merged? – Szabolcs Oct 17 '15 at 12:20

Perhaps the way GraphData works has changed in the last five years, but the code suggested by Mathworld, GraphData[{"Hypercube", n}], seems to work:

GraphicsRow@Table[GraphData[{"Hypercube", n}], {n, 6}] With colors:

gg = GraphData[{"Hypercube", 6}];
vc = PropertyValue[gg, VertexCoordinates];
colors = {1 -> Red, 2 -> Orange, 4 -> Yellow, _Integer -> Automatic};
dupes = vc /. Counts@vc;
HighlightGraph[gg, MapIndexed[Reverse@*Style, dupes /. colors]] (The option VertexSize fails to work on the graph gg. Maybe it's a bug.)