You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If one has a weighted graph, would it make sense for the layout algorithm to account for the weights?
This is done in, for instance, the R package qgraph.
Perhaps I'm viewing this too simplistically, but I think that all that needs to be done is multiply by the weights at some point. For example, in the Spring layout, there is now
Sounds reasonable! I think what you say is exactly right, you probably only need to add edgewights and nodeweights to the struct field and to the constructor, normalize and weight the forced accordingly. PRs welcome!
If one has a weighted graph, would it make sense for the layout algorithm to account for the weights?
This is done in, for instance, the R package
qgraph
.Perhaps I'm viewing this too simplistically, but I think that all that needs to be done is multiply by the weights at some point. For example, in the Spring layout, there is now
NetworkLayout.jl/src/spring.jl
Lines 95 to 102 in 6574223
where, if I understand the code correctly, this line
F_d = d / K - K^2 / d^2
could be changed to account for the weight of the edge. One option is to simply weigh the attraction by the (normalized) edge strength, which is I think whatqgraph
does (see https://github.com/cran/qgraph/blob/57d588ee05a554f9d1078914e05ce03662c610b2/src/layout_rcpp.cpp#L111).Any thoughts? I'd be happy to open a draft PR for a single layout (e.g., spring).
The text was updated successfully, but these errors were encountered: