I am successfully interacting with a 3D graph created with LightGraphs, but
plotly backend is rather slow when I have 2000 nodes and 10,000 edges. It might be slow because the
curvature argument creates intermediate points on an edge modeled by a spline. However, there is no acceleration when curvature is zero, and yet, a straight line is sufficient. That is not reasonable. Also, when curvature is low, an edge could be modeled with a reduced number of intermediate nodes. So I created a graph with a single edge, and ran the following code (notice the
z arguments to graphplot.
using LightGraphs using GraphRecipes import Plots Plots.plotly() function plotGraph() graph = SimpleGraph(20, 1) nb_nodes = nv(graph) xx = rand(nb_nodes) yy = rand(nb_nodes) zz = rand(nb_nodes) p = graphplot(graph, dim=3, curvature=0, x=xx, y=yy, z=zz) end p = plotGraph()
The graph has edges associated with it. How is that possible? It is as if the position matrices are being used to create edges.