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, the draw_nodes takes the dual of the hypergraph as an argument, which seems like unnecessary computation.
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.