How to specify shape of network with Graph function?

I have the code you see below which displays the network that you see. However, I want to structure it so that it is flipped horizontally, and the 2, 3, 4, 5 quadrilateral is a square, and so that the 1, 2, 3 triangle is equilateral. How can I do this in Mathematica? Thanks.

• Did you try any other layouts? GraphLayout -> "LayeredEmbedding" is pretty close and 2,3,4,5 is square but the 1,2,3 triangle is not quite equilateral. Commented May 12, 2021 at 15:25

Clear["Global*"]

Graph[{1 -> 2, 2 -> 3, 1 -> 3, 2 -> 4, 3 -> 5, 4 -> 5},
VertexLabels -> Placed[Automatic, Center],
VertexSize -> 0.1,
VertexCoordinates -> {4 -> {0, 0}, 5 -> {1, 0}, 2 -> {0, 1},
3 -> {1, 1}, 1 -> {1/2, 1 + Sqrt[3/4]}},
ImageSize -> Small]


You can use GraphLayout -> {"MultipartiteEmbedding", "VertexPartition" -> {1, 2, 2}}

 g = Graph[{1 -> 2, 2 -> 3, 1 -> 3, 2 -> 4, 3 -> 5, 4 -> 5},
PlotTheme -> "IndexLabeled",
GraphLayout -> {"MultipartiteEmbedding", "VertexPartition" -> {1, 2, 2}},
ImageSize -> Medium]


and post-process to change the orientation:

SetProperty[g, VertexCoordinates -> RotationTransform[-Pi/2]@GraphEmbedding[g]]
`