7
$\begingroup$

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.

$\endgroup$
1

1 Answer 1

10
$\begingroup$

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] 

enter image description here

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.