I am trying to render a visualisation of a computer network in Vis JS, and want to show traffic passing through a 'router' node. I am trying to figure out how to render the nodes sufficiently spaced by default, without having physics enabled as I find the bouncing and moving quite annoying. If I render the graph without physics enabled currently, it just places all nodes directly on top of each other and you have to move them each manually (this is how I got image 1 below).
I would ideally like to be able to also pre-position the nodes depending on their value, so e.g. the internal devices would be shown on the left of the router device, and external/public devices shown on the right.
Can anyone point me in the right direction to being able to achieve this? Also happy to consider other network visualisation libraries if this isn't possible in Vis JS.
Here's what I'd like the network to look like when it loads (devices labelled with a MAC address are internal, devices labelled with IP are external):

And here's what it currently looks like:

Thanks!