# Why VertexCoordinate does not work here?

First I plotted this and got a nice graph.

Graph[Range, {},
VertexLabels ->
Thread[Range -> (Style[#, Red, 20, Bold] & /@ Range)],
VertexSize -> Small, VertexStyle -> Red,
VertexCoordinates -> {1 -> {0, 0}, 2 -> {0, 3}, 3 -> {5, 3}},
EdgeStyle -> Directive[Green, Thickness[0.05]],
EdgeLabelStyle -> Directive[Blue, Bold, 50]] Next I added two edges and it ruined my graph. The vertexcoordinate doesn't seem to work anymore. Does anyone know why and how to fix this?

Graph[Range, {1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 3},
VertexLabels ->
Thread[Range -> (Style[#, Red, 20, Bold] & /@ Range)],
VertexSize -> Small, VertexStyle -> Red,
VertexCoordinates -> {1 -> {0, 0}, 2 -> {0, 3}, 3 -> {5, 3}},
EdgeStyle -> Directive[Green, Thickness[0.05]],
EdgeLabelStyle -> Directive[Blue, Bold, 50]] The problem is, that MMA chooses ridiculous large coordinates for vertices without explicitly given coordinates. Why, I do not know. If you specify all coordinates explicitely, you do not have a problem. E.g.

Graph[Range, {1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 3},
VertexLabels ->
Thread[Range -> (Style[#, Red, 20, Bold] & /@ Range)],
VertexSize -> Small, VertexStyle -> Red,
VertexCoordinates -> Table[i -> {i, Mod[i^2, 5]}, {i, 7}]] Define (and visualize) points on a circle with radius 3 (arbitrarily chosen and starting at 20 degrees).

cpts = CirclePoints[{3, 20 Degree}, 7]
Graphics[{Red, AbsolutePointSize, Point@cpts}, ImageSize -> Small]


Now use these points as VertexCoordinates. In the first variation, use the cpts.

Graph[Range, {1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 3}
, VertexLabels ->
Thread[Range -> (Style[#, Red, 20, Bold] & /@ Range)]
, VertexCoordinates -> cpts
, VertexSize -> Small
, VertexStyle -> Red
, EdgeStyle -> Directive[Green, AbsoluteThickness]
, EdgeLabelStyle -> Directive[Blue, Bold, 50]
(*,PlotRange\[Rule]{{-6,6},{-6,6}}*)
, ImageSize -> Small
]


For the second variation utilize the three given points and join the rest from the cpts.

Graph[Range, {1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 3}
, VertexLabels ->
Thread[Range -> (Style[#, Red, 20, Bold] & /@ Range)]
, VertexCoordinates -> {1 -> {0, 0}, 2 -> {0, 3}, 3 -> {5, 3}}~Join~
MapThread[Rule, {{4, 5, 6, 7}, cpts[[-4 ;; -1]]}]
, VertexSize -> Small
, VertexStyle -> Red
, EdgeStyle -> Directive[Green, AbsoluteThickness]
, EdgeLabelStyle -> Directive[Blue, Bold, 50]
, ImageSize -> Small
]


Result: 