I want to draw the stacked (or generalized) prism graph nicely.
g = PlanarGraph[ GraphProduct[CycleGraph[8], PathGraph[{1, 2, 3, 4}], "Cartesian"], VertexLabels -> None] The Mathematica gives me the following:
Currently, I am not very satisfied with two things: first, the spacing between the circles, from the inner to the outer ones, is inconsistent; second, I would like it to be more aesthetically pleasing. I hope one of the edges aligns with the horizontal line, like in the example below (from Stacked Prism Graph).
It seems that the built-in GraphData[{"StackedPrism", {8, 4}}] meets my requirements. However, I still want to learn how to handle this programmatically.

