Filter löschen
Filter löschen

Get coordinates of 3-D force-directed graph plot without plotting?

4 Ansichten (letzte 30 Tage)
I have a very large weighted undirected graph and I want to run the 3-d force directed graph algorithm without actually creating the figure. The following works for small graphs but is cumbersome for large ones.
% create sample weighted undirected graph objectwith pseudorandom weights
nN = 1e3;% # of nodes
G = graph(squareform(randi(10,[(nN^2-nN)./2 1]))));
% Perform 3-D force-directed algo with graph plotting function
pH = plot(G,'layout','force3','WeightEffect','Direct','Iterations',1e5);
% extract coordinates from plot
xyz = [pH.XData;pH.YData;pH.ZData]';
Is there are way to access lower level functions to apply the same algorithm and obtain the coordinates xyz without plotting anything (ideally more efficiently)? Thank you.

Akzeptierte Antwort

Christine Tobler
Christine Tobler am 26 Jul. 2023
There isn't currently such a function available.
For the example above, nearly all the time is being spent in computing the coordinates, so at least there isn't much time lost in plotting, although I understand that the unnecessary figure can get in the way.

Weitere Antworten (0)

Kategorien

Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by