# Keeping vertexcoordinates after adding a new vertex

I want to add a new vertex to a graph, with fixed VertexCoordinates but when I use VertexAdd, the new graph does not have the VertexCoordinates of the previous one.

g = Graph[{1 -> 2}, VertexCoordinates -> {{0, 0.5}, {0.5, 0}},
PlotRange -> 1]


This is the initial graph

g = VertexAdd[g, 3]


Adding a new vertex makes a new graph with automatic coordinates.

I tried to see if there is a way to define the coordinates when adding a new vertex but I could not find anything.

Also I was looking if there is something like:

SetProperty[g, VectorCoordinates -> {list of coordinates}]


To set coordinates for all vertices in a graph, but I could not find anything.

-
related questions: mathematica.stackexchange.com/questions/31014/… – halmir Aug 27 '13 at 17:56

Here is your Graph

g = Graph[{1 -> 2}, VertexCoordinates -> {{0, 0.5}, {0.5, 0}},PlotRange -> 1]


You can try this!

g = SetProperty[VertexAdd[g, {3, 4}],
VertexCoordinates-> PropertyValue[g, VertexCoordinates]~Join~{{.7, .6}, {-.2, -.3}}];


The graph will retain its VetexCoordinates

EdgeAdd[g, 1 -> 4]


-