iplotx 1.4.1__tar.gz → 1.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. {iplotx-1.4.1 → iplotx-1.4.2}/PKG-INFO +1 -1
  2. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/sg_execution_times.rst +9 -3
  3. iplotx-1.4.2/gallery/other/plot_filled_edges.py +36 -0
  4. iplotx-1.4.2/gallery/other/plot_multiarc.py +24 -0
  5. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/edge/geometry.py +8 -6
  6. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/version.py +1 -1
  7. iplotx-1.4.2/tests/baseline_images/test_igraph/arcs.png +0 -0
  8. iplotx-1.4.2/tests/baseline_images/test_igraph/directed_arcs.png +0 -0
  9. iplotx-1.4.2/tests/baseline_images/test_igraph/large_arcs.png +0 -0
  10. iplotx-1.4.2/tests/baseline_images/test_igraph/multiarc45.png +0 -0
  11. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_igraph.py +16 -1
  12. iplotx-1.4.1/tests/baseline_images/test_igraph/arcs.png +0 -0
  13. iplotx-1.4.1/tests/baseline_images/test_igraph/directed_arcs.png +0 -0
  14. iplotx-1.4.1/tests/baseline_images/test_igraph/large_arcs.png +0 -0
  15. {iplotx-1.4.1 → iplotx-1.4.2}/.github/workflows/publish.yml +0 -0
  16. {iplotx-1.4.1 → iplotx-1.4.2}/.github/workflows/test.yml +0 -0
  17. {iplotx-1.4.1 → iplotx-1.4.2}/.gitignore +0 -0
  18. {iplotx-1.4.1 → iplotx-1.4.2}/.pre-commit-config.yaml +0 -0
  19. {iplotx-1.4.1 → iplotx-1.4.2}/.readthedocs.yaml +0 -0
  20. {iplotx-1.4.1 → iplotx-1.4.2}/LICENSE +0 -0
  21. {iplotx-1.4.1 → iplotx-1.4.2}/MANIFEST.in +0 -0
  22. {iplotx-1.4.1 → iplotx-1.4.2}/README.md +0 -0
  23. {iplotx-1.4.1 → iplotx-1.4.2}/assets/pylint.svg +0 -0
  24. {iplotx-1.4.1 → iplotx-1.4.2}/docs/Makefile +0 -0
  25. {iplotx-1.4.1 → iplotx-1.4.2}/docs/make.bat +0 -0
  26. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/_static/banner.png +0 -0
  27. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/_static/custom-icons.js +0 -0
  28. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/_static/custom.css +0 -0
  29. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/_static/graph_basic.png +0 -0
  30. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/_templates/layout.html +0 -0
  31. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api/artists.md +0 -0
  32. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api/complete_style_specification.md +0 -0
  33. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api/plotting.md +0 -0
  34. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api/providers.md +0 -0
  35. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api/style.md +0 -0
  36. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/api.md +0 -0
  37. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/code_of_conduct.rst +0 -0
  38. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/conf.py +0 -0
  39. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/images/sphx_glr_plot_basic_001.png +0 -0
  40. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/images/thumb/sphx_glr_plot_basic_thumb.png +0 -0
  41. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/index.md +0 -0
  42. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/installing.md +0 -0
  43. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/providers.md +0 -0
  44. {iplotx-1.4.1 → iplotx-1.4.2}/docs/source/style.md +0 -0
  45. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/GALLERY_HEADER.rst +0 -0
  46. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/GALLERY_HEADER.rst +0 -0
  47. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_3d.py +0 -0
  48. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_arcs.py +0 -0
  49. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_basic.py +0 -0
  50. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_big_curves.py +0 -0
  51. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_dag.py +0 -0
  52. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_directed.py +0 -0
  53. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_grouping.py +0 -0
  54. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_house.py +0 -0
  55. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_loops.py +0 -0
  56. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/basic/plot_simple_path.py +0 -0
  57. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/GALLERY_HEADER.rst +0 -0
  58. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/80201010000000001.mst +0 -0
  59. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/GN-tree.json +0 -0
  60. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/breast_cancer_string_interactions_short.tsv +0 -0
  61. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/breast_cancer_string_network_coordinates.tsv +0 -0
  62. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/cell_cycle_arrest_string_interactions_short.tsv +0 -0
  63. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/cell_cycle_arrest_string_network_coordinates.tsv +0 -0
  64. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/data/fevo-08-588430_DataSheet1_S1.csv +0 -0
  65. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_animal_phylogeny.py +0 -0
  66. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_antibody_clone.py +0 -0
  67. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_breast_cancer_ppi.py +0 -0
  68. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_cell_cycle_arrest.py +0 -0
  69. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_food_network.py +0 -0
  70. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_foraging_table.py +0 -0
  71. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_pollinators.py +0 -0
  72. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_ppi.py +0 -0
  73. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/biology/plot_tca_cycle.py +0 -0
  74. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/GALLERY_HEADER.rst +0 -0
  75. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/data/chess_masters_WCC.pgn.bz2 +0 -0
  76. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/data/knuth_miles.txt.gz +0 -0
  77. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_arrowlawn.py +0 -0
  78. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_chess_masters.py +0 -0
  79. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_cliques.py +0 -0
  80. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_cluster_layout.py +0 -0
  81. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_company_structure.py +0 -0
  82. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_complex.py +0 -0
  83. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_financial_network.py +0 -0
  84. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_knuth_miles.py +0 -0
  85. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_labels_and_colors.py +0 -0
  86. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_max_bipartite_matching.py +0 -0
  87. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_minimum_spanning_trees.py +0 -0
  88. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_multipartite_layout.py +0 -0
  89. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_parallel_igraph_networkx.py +0 -0
  90. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_redblack.py +0 -0
  91. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_shortest_path.py +0 -0
  92. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_simple_networkx.py +0 -0
  93. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_social_network_circles.py +0 -0
  94. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_traveling_salesman.py +0 -0
  95. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/network_science/plot_with_colorbar.py +0 -0
  96. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/GALLERY_HEADER.rst +0 -0
  97. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_animation.py +0 -0
  98. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_edit_artists.py +0 -0
  99. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_feedbacks.py +0 -0
  100. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_graph.py +0 -0
  101. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_mouse_hover.py +0 -0
  102. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/other/plot_train.py +0 -0
  103. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/GALLERY_HEADER.rst +0 -0
  104. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_arrows.py +0 -0
  105. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_depthshade.py +0 -0
  106. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_edge_geometries.py +0 -0
  107. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_edgepadding.py +0 -0
  108. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_elements.py +0 -0
  109. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_four_grids.py +0 -0
  110. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_halfarrows.py +0 -0
  111. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_multistyle.py +0 -0
  112. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_ports.py +0 -0
  113. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_style.py +0 -0
  114. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_tension.py +0 -0
  115. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_vertexmarkers.py +0 -0
  116. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_voronoi.py +0 -0
  117. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/style/plot_waypoints.py +0 -0
  118. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/GALLERY_HEADER.rst +0 -0
  119. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/data/tree-with-support.json +0 -0
  120. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_angular_waypoints.py +0 -0
  121. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_biopython_tree.py +0 -0
  122. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_cladeedges.py +0 -0
  123. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_cogent3_layouts.py +0 -0
  124. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_cogent3_tree.py +0 -0
  125. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_dendropy.py +0 -0
  126. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_double_tree.py +0 -0
  127. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_elements_tree.py +0 -0
  128. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_equalangle.py +0 -0
  129. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_ete4.py +0 -0
  130. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_leafedges.py +0 -0
  131. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_leafedges_and_cascades.py +0 -0
  132. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_scalebar.py +0 -0
  133. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_skbio_tree.py +0 -0
  134. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_split_edges.py +0 -0
  135. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_style_tree.py +0 -0
  136. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_support.py +0 -0
  137. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_tree_node_background.py +0 -0
  138. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_tree_style_clades.py +0 -0
  139. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/tree/plot_trees_of_trees.py +0 -0
  140. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/zero_dependency/GALLERY_HEADER.rst +0 -0
  141. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/zero_dependency/plot_simplenetworkdataprovider.py +0 -0
  142. {iplotx-1.4.1 → iplotx-1.4.2}/gallery/zero_dependency/plot_simpletreedataprovider.py +0 -0
  143. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/__init__.py +0 -0
  144. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/art3d/edge/__init__.py +0 -0
  145. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/art3d/edge/arrow.py +0 -0
  146. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/art3d/edge/geometry.py +0 -0
  147. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/art3d/vertex.py +0 -0
  148. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/artists.py +0 -0
  149. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/edge/__init__.py +0 -0
  150. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/edge/arrow.py +0 -0
  151. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/edge/leaf.py +0 -0
  152. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/edge/ports.py +0 -0
  153. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/__init__.py +0 -0
  154. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/heuristics.py +0 -0
  155. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/network/graph_tool.py +0 -0
  156. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/network/igraph.py +0 -0
  157. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/network/networkx.py +0 -0
  158. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/network/simple.py +0 -0
  159. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/biopython.py +0 -0
  160. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/cogent3.py +0 -0
  161. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/dendropy.py +0 -0
  162. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/ete4.py +0 -0
  163. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/simple.py +0 -0
  164. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/providers/tree/skbio.py +0 -0
  165. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/ingest/typing.py +0 -0
  166. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/label.py +0 -0
  167. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/layout/__init__.py +0 -0
  168. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/layout/tree/__init__.py +0 -0
  169. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/layout/tree/rooted.py +0 -0
  170. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/layout/tree/unrooted.py +0 -0
  171. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/network/__init__.py +0 -0
  172. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/network/groups.py +0 -0
  173. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/plotting.py +0 -0
  174. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/style/__init__.py +0 -0
  175. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/style/leaf_info.py +0 -0
  176. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/style/library.py +0 -0
  177. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/tree/__init__.py +0 -0
  178. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/tree/cascades.py +0 -0
  179. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/tree/scalebar.py +0 -0
  180. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/typing.py +0 -0
  181. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/utils/geometry.py +0 -0
  182. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/utils/internal.py +0 -0
  183. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/utils/matplotlib.py +0 -0
  184. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/utils/style.py +0 -0
  185. {iplotx-1.4.1 → iplotx-1.4.2}/iplotx/vertex.py +0 -0
  186. {iplotx-1.4.1 → iplotx-1.4.2}/pyproject.toml +0 -0
  187. {iplotx-1.4.1 → iplotx-1.4.2}/scripts/copy_github_release_into_version.sh +0 -0
  188. {iplotx-1.4.1 → iplotx-1.4.2}/scripts/make_banner.py +0 -0
  189. {iplotx-1.4.1 → iplotx-1.4.2}/scripts/update_pylint_badge.sh +0 -0
  190. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/cascades.png +0 -0
  191. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/directed_child.png +0 -0
  192. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/leaf_labels.png +0 -0
  193. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/leaf_labels_hmargin.png +0 -0
  194. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/leafedges.png +0 -0
  195. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/show_support.png +0 -0
  196. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/tree_basic.png +0 -0
  197. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_biopython/tree_radial.png +0 -0
  198. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_cogent3/leaf_labels.png +0 -0
  199. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_cogent3/leaf_labels_hmargin.png +0 -0
  200. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_cogent3/tree_basic.png +0 -0
  201. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_cogent3/tree_radial.png +0 -0
  202. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/cascades.png +0 -0
  203. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/directed_child.png +0 -0
  204. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/leaf_labels.png +0 -0
  205. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/leaf_labels_hmargin.png +0 -0
  206. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/leafedges.png +0 -0
  207. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/tree_basic.png +0 -0
  208. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_dendropy/tree_radial.png +0 -0
  209. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_doubletree/tree_gap.png +0 -0
  210. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_doubletree/tree_nogap.png +0 -0
  211. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/equalangle_layout.png +0 -0
  212. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/leaf_labels.png +0 -0
  213. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/leaf_labels_hmargin.png +0 -0
  214. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/split_edges.png +0 -0
  215. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/tree_basic.png +0 -0
  216. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_ete4/tree_radial.png +0 -0
  217. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_graph_tool/graph_basic.png +0 -0
  218. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_graph_tool/graph_directed.png +0 -0
  219. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/clustering_directed.png +0 -0
  220. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/clustering_directed_large.png +0 -0
  221. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_basic.png +0 -0
  222. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_directed.png +0 -0
  223. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_directed_curved_loops.png +0 -0
  224. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_edit_children.png +0 -0
  225. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_labels.png +0 -0
  226. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_layout_attribute.png +0 -0
  227. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_null.png +0 -0
  228. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_squares_directed.png +0 -0
  229. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_vertexsize.png +0 -0
  230. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/graph_with_curved_edges.png +0 -0
  231. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/igraph_layout_object.png +0 -0
  232. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph/multigraph_with_curved_edges_undirected.png +0 -0
  233. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph_3d/directed.png +0 -0
  234. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph_3d/undirected.png +0 -0
  235. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_igraph_3d/vertex_labels.png +0 -0
  236. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/cluster-layout.png +0 -0
  237. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/complex.png +0 -0
  238. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/complex_rotatelabels.png +0 -0
  239. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/directed_graph.png +0 -0
  240. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/directed_graph_with_colorbar.png +0 -0
  241. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/empty_graph.png +0 -0
  242. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/flat_style.png +0 -0
  243. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/house_with_colors.png +0 -0
  244. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/labels_and_colors.png +0 -0
  245. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/shortest_path.png +0 -0
  246. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_networkx/simple_graph.png +0 -0
  247. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_simple_network_provider/graph_basic.png +0 -0
  248. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_simple_network_provider/graph_directed.png +0 -0
  249. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_simple_network_provider/graph_labels.png +0 -0
  250. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_skbio/leaf_labels.png +0 -0
  251. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_skbio/leaf_labels_hmargin.png +0 -0
  252. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_skbio/tree_basic.png +0 -0
  253. {iplotx-1.4.1 → iplotx-1.4.2}/tests/baseline_images/test_skbio/tree_radial.png +0 -0
  254. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_arrows.py +0 -0
  255. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_biopython.py +0 -0
  256. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_cascades.py +0 -0
  257. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_cogent3.py +0 -0
  258. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_dendropy.py +0 -0
  259. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_doubletree.py +0 -0
  260. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_edge.py +0 -0
  261. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_edge_geometry.py +0 -0
  262. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_ete4.py +0 -0
  263. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_geometry.py +0 -0
  264. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_graph_tool.py +0 -0
  265. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_heuristics.py +0 -0
  266. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_igraph_3d.py +0 -0
  267. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_ingest_protocols.py +0 -0
  268. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_matplotlib_utils.py +0 -0
  269. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_network_hotload.py +0 -0
  270. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_networkx.py +0 -0
  271. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_ports.py +0 -0
  272. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_simple_network_provider.py +0 -0
  273. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_simple_tree_provider.py +0 -0
  274. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_skbio.py +0 -0
  275. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_style.py +0 -0
  276. {iplotx-1.4.1 → iplotx-1.4.2}/tests/test_vertex.py +0 -0
  277. {iplotx-1.4.1 → iplotx-1.4.2}/tests/utils.py +0 -0
  278. {iplotx-1.4.1 → iplotx-1.4.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iplotx
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Summary: Plot networkx from igraph and networkx.
5
5
  Project-URL: Homepage, https://github.com/fabilab/iplotx
6
6
  Project-URL: Documentation, https://readthedocs.org/iplotx
@@ -6,7 +6,7 @@
6
6
 
7
7
  Computation times
8
8
  =================
9
- **00:00.158** total execution time for 80 files **from all galleries**:
9
+ **00:00.092** total execution time for 82 files **from all galleries**:
10
10
 
11
11
  .. container::
12
12
 
@@ -32,8 +32,11 @@ Computation times
32
32
  * - Example
33
33
  - Time
34
34
  - Mem (MB)
35
- * - :ref:`sphx_glr_gallery_style_plot_edge_geometries.py` (``../../gallery/style/plot_edge_geometries.py``)
36
- - 00:00.158
35
+ * - :ref:`sphx_glr_gallery_other_plot_multiarc.py` (``../../gallery/other/plot_multiarc.py``)
36
+ - 00:00.060
37
+ - 0.0
38
+ * - :ref:`sphx_glr_gallery_other_plot_filled_edges.py` (``../../gallery/other/plot_filled_edges.py``)
39
+ - 00:00.032
37
40
  - 0.0
38
41
  * - :ref:`sphx_glr_gallery_basic_plot_3d.py` (``../../gallery/basic/plot_3d.py``)
39
42
  - 00:00.000
@@ -173,6 +176,9 @@ Computation times
173
176
  * - :ref:`sphx_glr_gallery_style_plot_depthshade.py` (``../../gallery/style/plot_depthshade.py``)
174
177
  - 00:00.000
175
178
  - 0.0
179
+ * - :ref:`sphx_glr_gallery_style_plot_edge_geometries.py` (``../../gallery/style/plot_edge_geometries.py``)
180
+ - 00:00.000
181
+ - 0.0
176
182
  * - :ref:`sphx_glr_gallery_style_plot_edgepadding.py` (``../../gallery/style/plot_edgepadding.py``)
177
183
  - 00:00.000
178
184
  - 0.0
@@ -0,0 +1,36 @@
1
+ """
2
+ Filled edges
3
+ ============
4
+
5
+ Most of the time edges have no "filling", but what if they did? Then you would
6
+ get this crazy example.
7
+
8
+ .. tip::
9
+ Edges are not supposed to be filled, use at your own risk!
10
+ """
11
+
12
+ import networkx as nx
13
+ import matplotlib.pyplot as plt
14
+ import iplotx as ipx
15
+
16
+ g = nx.Graph()
17
+ g.add_edges_from([(0, 1), (1, 2), (0, 2)])
18
+
19
+ layout = [(0, 0), (1, 0), (2, 0)]
20
+
21
+ artist = ipx.network(
22
+ g,
23
+ layout,
24
+ edge_arc=True,
25
+ edge_tension=-1,
26
+ vertex_facecolor="#005F73",
27
+ vertex_edgecolor="#001219",
28
+ vertex_linewidth=2,
29
+ )[0]
30
+
31
+ edge_artist = artist.get_edges()
32
+ edge_artist.set_facecolors([
33
+ "#94D2BD66",
34
+ "#EE9B0066",
35
+ "#AE201266",
36
+ ])
@@ -0,0 +1,24 @@
1
+ """
2
+ Multiarc
3
+ ========
4
+
5
+ This example shows how to plot a bunch of arcs.
6
+ """
7
+
8
+ import igraph as ig
9
+ import matplotlib.pyplot as plt
10
+ import iplotx as ipx
11
+
12
+ g = ig.Graph.Ring(4, directed=True)
13
+ layout = [[1, 0], [0, 1], [-1, 0], [0, -1]]
14
+
15
+ ipx.network(
16
+ g,
17
+ layout,
18
+ vertex_labels=True,
19
+ aspect=1,
20
+ edge_tension=1,
21
+ edge_arc=True,
22
+ edge_arrow={"marker": ">","width": 6},
23
+ edge_linewidth=3,
24
+ )
@@ -466,15 +466,17 @@ def _compute_edge_path_arc(
466
466
  )
467
467
  angle_start = atan2(*(vs[0] - center)[::-1])
468
468
  angle_end = atan2(*(vs[1] - center)[::-1])
469
- if (np.abs(tension) > 1) and (np.abs(angle_end - angle_start) < np.pi):
470
- if angle_end > angle_start:
471
- angle_start += 2 * np.pi
472
- else:
473
- angle_end += 2 * np.pi
469
+
470
+ # Figure out how to draw the correct arc of the two
471
+ if (tension > 0) and (angle_end < angle_start):
472
+ angle_end += 2 * np.pi
473
+ elif (tension < 0) and (angle_end > angle_start):
474
+ angle_start += 2 * np.pi
475
+
474
476
  # print(f"angle_start: {np.degrees(angle_start):.2f}")
475
477
  # print(f"angle_end: {np.degrees(angle_end):.2f}")
476
478
 
477
- naux = 30
479
+ naux = max(30, int(np.ceil(np.degrees(np.abs(angle_end - angle_start)))) // 3)
478
480
  angles = np.linspace(angle_start, angle_end, naux + 2)[1:-1]
479
481
  auxs = center + np.array([np.cos(angles), np.sin(angles)]).T * np.linalg.norm(
480
482
  vs[0] - center
@@ -2,4 +2,4 @@
2
2
  iplotx version information module.
3
3
  """
4
4
 
5
- __version__ = "1.4.1"
5
+ __version__ = "1.4.2"
@@ -239,7 +239,7 @@ class GraphTestRunner(unittest.TestCase):
239
239
  layout = [[0, 0], [1, 0], [2, 0], [3, 0]]
240
240
 
241
241
  fig, ax = plt.subplots()
242
- ipx.plot(
242
+ ipx.graph(
243
243
  g,
244
244
  layout=layout,
245
245
  ax=ax,
@@ -248,6 +248,21 @@ class GraphTestRunner(unittest.TestCase):
248
248
  margins=0.2,
249
249
  )
250
250
 
251
+ @image_comparison(baseline_images=["multiarc45"])
252
+ def test_multiarc(self):
253
+ g = ig.Graph.Ring(4, directed=True)
254
+ layout = [[1, 0], [0, 1], [-1, 0], [0, -1]]
255
+
256
+ fig, ax = plt.subplots()
257
+ ipx.graph(
258
+ g,
259
+ layout,
260
+ ax=ax,
261
+ edge_arc=True,
262
+ edge_tension=1,
263
+ aspect=1,
264
+ )
265
+
251
266
 
252
267
  class ClusteringTestRunner(unittest.TestCase):
253
268
  @property
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes