JuliaGraphs / JuliaGraphs/NetworkLayout.jl
Stack overflow in Spring & SFDP layouts
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 109
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
I have some somewhat-large graph data that I'm attempting to do partial layouts on, and I'm hitting StackOverflowErrors when I try. I'm attaching the data, and here's the code I'm using for layout:
using GraphIO.EdgeList, Graphs
using NetworkLayout
using GeometryBasics: Point
using JSON3
println("Loading data")
g = loadgraph("graph.e", EdgeListFormat())
pin = identity.(JSON3.read("pin.json"))
initialpos = identity.(JSON3.read("initialpos.json"))
println("Running layout")
# Both of the following fail
NetworkLayout.sfdp(g; pin, initialpos, iterations = 5)
NetworkLayout.spring(g; pin, initialpos, initialtemp = 3.940695496278636, iterations = 5)
Any thoughts? I did also try converting g to an undirected graph, but that doesn't seem to make any difference.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the attached data with the NetworkLayout.sfdp and NetworkLayout.spring calls shown in the issue, including the partial-layout arguments. Trace where the StackOverflowError occurs and compare behavior for the directed and undirected graph variants; done means both layouts handle this input without overflowing the stack.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100