Closed maximelucas closed 8 months ago
Attention: 21 lines
in your changes are missing coverage. Please review.
Comparison is base (
536f592
) 92.03% compared to head (ac95a64
) 92.00%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
thanks max! I'll check about #433
Check out this pull request on
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB
This is ready for review.
With the last commits, I rewrote draw_dihypergraph
. The new implementation:
draw_nodes()
to draw both types of nodesFancyArrowPatch
for the edges. This mimicks Networkx for directed graphs. I commented in the code why this seems to be the best solution (see this discussion). Arrows can be parametrised with arrowstyle
, arrowsize
, connectionstyle
._color_arg_to_dict
and _scalar_arg_to_dict
.has a new argument iterations
to control the layout (related to #396). The previous layout was a spring layout computed on the "augmented projection", so that "edge"-nodes were sometimes on the outside, not at the barycenters. Now, the layout is computed as follows:
iterations
iterations. So 0 iterations will yield the layout computed in ii, while many iterations will yield the layout that we used to have. There is also a new pos
argument so that user can play around. We could provide a special layout function for this in the future if we find a good way to do it.
Good points Thomas, thanks! All addressed now I think.
Great work, @maximelucas!! Much needed changes and thanks for pushing this through!
draw_dihypergraph()
more consistent with the other (updated) functions. I solved some bugs on the way, but making it fully consistent (and bug free) will require a bigger rewrite. I'll open an issue.draw_dihypergraph()
. More needed.