Closed nwlandry closed 1 year ago
1.5k lines is too much for me to wrap my head around and I'm scared.
One thing to keep in mind is how to handle kwargs. All of these methods that just pass kwargs to some other call down the line tend to be very verbose and repetitive and bug-prone when doing things like if some_kwargs in kwargs: ...
.
networkx has also 1.5k lines, just saying
Partially solved by #435
Since opening this issue, a lot changed in the drawing module:
draw_utils.py
file. In particular right now we have:
draw_nodes
, draw_hyperedges
to do the heavy lifting (the latter includes the hull drawing as an option)draw_node_labels
, draw_hyperedge_labels
for the labelsdraw
combines all the abovedraw_multilayer
which has code similar to do what's in draw_nodes
and draw_hyperedges
but cannot use those due to the 3d nature of the plot: scatter
and other functions take additional arguments in 3d.draw_dihypergraph
that uses draw_nodes
and has its own code to draw the arrows.My feeling is that none of those can be easily merged or use each other more. If that's the case, should we close this issue? Or @nwlandry did you have more ideas to unify?
I think that we can close now. Thanks for taking care of all these issues!
At this point, we have lots of great functionality for drawing. The draw.py file is now ~1.5k lines! I'm wondering if we should