iplotx 0.6.2__tar.gz → 0.6.4__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.
- {iplotx-0.6.2 → iplotx-0.6.4}/.github/workflows/test.yml +2 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/PKG-INFO +1 -1
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/utils/geometry.py +9 -8
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/version.py +1 -1
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_geometry.py +40 -2
- {iplotx-0.6.2 → iplotx-0.6.4}/.github/workflows/publish.yml +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/.gitignore +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/.pre-commit-config.yaml +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/.readthedocs.yaml +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/LICENSE +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/MANIFEST.in +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/README.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/assets/pylint.svg +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/Makefile +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/make.bat +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/_static/banner.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/_static/graph_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/_templates/layout.html +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api/artists.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api/complete_style_specification.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api/plotting.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api/providers.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api/style.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/api.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/conf.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/images/sphx_glr_plot_basic_001.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/images/thumb/sphx_glr_plot_basic_thumb.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/index.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/providers.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/sg_execution_times.rst +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/docs/source/style.md +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/GALLERY_HEADER.rst +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/data/chess_masters_WCC.pgn.bz2 +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/data/knuth_miles.txt.gz +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_animation.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_arrowlawn.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_arrows.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_basic.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_big_curves.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_chess_masters.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_cliques.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_cluster_layout.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_company_structure.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_complex.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_dag.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_directed.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_edgepadding.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_edit_artists.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_elements.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_feedbacks.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_four_grids.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_grouping.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_halfarrows.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_house.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_knuth_miles.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_labels_and_colors.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_loops.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_max_bipartite_matching.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_minimum_spanning_trees.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_mouse_hover.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_multipartite_layout.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_multistyle.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_parallel_igraph_networkx.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_ports.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_redblack.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_shortest_path.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_simple_networkx.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_simple_path.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_simplenetworkdataprovider.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_style.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_tension.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_traveling_salesman.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_vertexmarkers.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_voronoi.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_waypoints.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/plot_with_colorbar.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/GALLERY_HEADER.rst +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/data/tree-with-support.json +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_angular_waypoints.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_biopython_tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_cladeedges.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_cogent3_layouts.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_cogent3_tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_elements_tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_ete4.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_leafedges.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_leafedges_and_cascades.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_simpletreedataprovider.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_skbio_tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_split_edges.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_style_tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_support.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_tree_node_background.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_tree_style_clades.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/gallery/tree/plot_trees_of_trees.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/__init__.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/artists.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/cascades.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/edge/__init__.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/edge/arrow.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/edge/geometry.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/edge/leaf.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/edge/ports.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/groups.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/__init__.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/heuristics.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/network/igraph.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/network/networkx.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/network/simple.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/tree/biopython.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/tree/cogent3.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/tree/ete4.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/tree/simple.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/providers/tree/skbio.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/ingest/typing.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/label.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/layout.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/network.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/plotting.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/style/__init__.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/style/leaf_info.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/style/library.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/tree.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/typing.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/utils/internal.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/utils/matplotlib.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/utils/style.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/iplotx/vertex.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/pyproject.toml +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/scripts/copy_github_release_into_version.sh +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/scripts/make_banner.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/scripts/update_pylint_badge.sh +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/cascades.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/directed_child.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/leaf_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/leaf_labels_hmargin.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/leafedges.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/show_support.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/tree_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_biopython/tree_radial.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_cogent3/leaf_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_cogent3/leaf_labels_hmargin.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_cogent3/tree_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_cogent3/tree_radial.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_ete4/leaf_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_ete4/leaf_labels_hmargin.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_ete4/split_edges.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_ete4/tree_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_ete4/tree_radial.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/clustering_directed.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/clustering_directed_large.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_directed.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_directed_curved_loops.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_edit_children.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_layout_attribute.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_null.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_squares_directed.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_vertexsize.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_with_curved_edges.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/igraph_layout_object.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/multigraph_with_curved_edges_undirected.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/cluster-layout.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/complex.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/complex_rotatelabels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/directed_graph.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/directed_graph_with_colorbar.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/empty_graph.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/flat_style.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/house_with_colors.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/labels_and_colors.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/shortest_path.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/simple_graph.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_directed.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_skbio/leaf_labels.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_skbio/leaf_labels_hmargin.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_skbio/tree_basic.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_skbio/tree_radial.png +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_arrows.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_biopython.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_cascades.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_cogent3.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_edge.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_edge_geometry.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_ete4.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_heuristics.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_igraph.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_ingest_protocols.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_matplotlib_utils.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_network_hotload.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_networkx.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_ports.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_simple_network_provider.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_simple_tree_provider.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_skbio.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_style.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/test_vertex.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/tests/utils.py +0 -0
- {iplotx-0.6.2 → iplotx-0.6.4}/uv.lock +0 -0
|
@@ -42,14 +42,15 @@ def convex_hull(points):
|
|
|
42
42
|
pass
|
|
43
43
|
|
|
44
44
|
# Otherwise, try scipy
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
if hull_idx is None:
|
|
46
|
+
try:
|
|
47
|
+
from scipy.spatial import ConvexHull
|
|
48
|
+
|
|
49
|
+
# NOTE: scipy guarantees counterclockwise ordering in 2D
|
|
50
|
+
# https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html
|
|
51
|
+
hull_idx = ConvexHull(points).vertices[::-1]
|
|
52
|
+
except ImportError:
|
|
53
|
+
pass
|
|
53
54
|
|
|
54
55
|
# Last resort: our own Graham scan
|
|
55
56
|
if hull_idx is None:
|
|
@@ -28,6 +28,44 @@ def four_points():
|
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
# 13: two tests fail with AssertionError
|
|
32
|
+
def assert_array_equal_upon_cycling(points1, points2):
|
|
33
|
+
"""Determine array equality but allow order to be different by cycling.
|
|
34
|
+
|
|
35
|
+
Parameters:
|
|
36
|
+
points1: First array of points.
|
|
37
|
+
points2: Second array of points.
|
|
38
|
+
Returns:
|
|
39
|
+
True if the arrays are equal upon cycling, False otherwise.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
def _fun(points1, points2):
|
|
43
|
+
if len(points1) != len(points2):
|
|
44
|
+
return False
|
|
45
|
+
|
|
46
|
+
points1 = np.asarray(points1)
|
|
47
|
+
points2 = np.asarray(points2).astype(points1.dtype)
|
|
48
|
+
|
|
49
|
+
if (points1.ndim != 1) or (points2.ndim != 1):
|
|
50
|
+
raise ValueError("Only 1D arrays are supported.")
|
|
51
|
+
|
|
52
|
+
if (points1 == points2).all():
|
|
53
|
+
return True
|
|
54
|
+
|
|
55
|
+
# Cycle
|
|
56
|
+
points2 = np.concatenate([points2, points2])
|
|
57
|
+
i0 = np.flatnonzero((points2 == points1[0]))
|
|
58
|
+
if len(i0) != 2:
|
|
59
|
+
return False
|
|
60
|
+
i0 = i0[0]
|
|
61
|
+
points2 = points2[i0 : i0 + len(points1)]
|
|
62
|
+
|
|
63
|
+
# Check again
|
|
64
|
+
return bool((points1 == points2).all())
|
|
65
|
+
|
|
66
|
+
assert _fun(points1, points2)
|
|
67
|
+
|
|
68
|
+
|
|
31
69
|
def test_squared_bezier(three_points):
|
|
32
70
|
ev = partial(geometry._evaluate_squared_bezier, three_points)
|
|
33
71
|
np.testing.assert_array_almost_equal(ev(0), three_points[0])
|
|
@@ -65,12 +103,12 @@ def test_hull_two(three_points):
|
|
|
65
103
|
|
|
66
104
|
def test_hull_three(three_points):
|
|
67
105
|
hull = geometry.convex_hull(three_points)
|
|
68
|
-
|
|
106
|
+
assert_array_equal_upon_cycling(hull, [2, 1, 0])
|
|
69
107
|
|
|
70
108
|
|
|
71
109
|
def test_hull_four(four_points):
|
|
72
110
|
hull = geometry.convex_hull(four_points)
|
|
73
|
-
|
|
111
|
+
assert_array_equal_upon_cycling(hull, [3, 2, 1, 0])
|
|
74
112
|
|
|
75
113
|
|
|
76
114
|
def test_hull_internal_three(three_points):
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/clustering_directed_large.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_igraph/graph_directed_curved_loops.png
RENAMED
|
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
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_networkx/directed_graph_with_colorbar.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_basic.png
RENAMED
|
File without changes
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_directed.png
RENAMED
|
File without changes
|
{iplotx-0.6.2 → iplotx-0.6.4}/tests/baseline_images/test_simple_network_provider/graph_labels.png
RENAMED
|
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
|