Open nwlandry opened 9 months ago
A workaround to this could be to use a trivial Hypergraph for this. Actually our current function does not allow to pass a list of nodes for this (only a number of nodes), but we could either that option to xgi.trivial_hypergraph()
or if you have your list of nodes
, you could do it manually
H = xgi.Hypergraph()
H.add_nodes_from(nodes)
This way we don't need to touch draw_nodes()
?
I think I used this trick is some (maybe since then overwritten) version of the bipartite drawing.
It should be possible to draw nodes without supplying a hypergraph, since if you have the node IDs and corresponding positions, you can draw the nodes. If the user provides a Hypergraph, that allows them to access nodestats and the ability to do a spring layout without providing node positions. I think that one could get around this by selecting the positions at random if the user supplies an iterable of nodes without corresponding positions.
The reason why this could be necessary is that in the
draw_bipartite
function, when drawing the edge markers, thedraw_nodes
takes the dual of the hypergraph as an argument, which seems like unnecessary computation.