iplotx


Nameiplotx JSON
Version 0.6.1 PyPI version JSON
download
home_pageNone
SummaryPlot networkx from igraph and networkx.
upload_time2025-07-28 01:31:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords graph network plotting visualisation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Github Actions](https://github.com/fabilab/iplotx/actions/workflows/test.yml/badge.svg)
![PyPI - Version](https://img.shields.io/pypi/v/iplotx)
![RTD](https://readthedocs.org/projects/iplotx/badge/?version=latest)
[![Coverage Status](https://coveralls.io/repos/github/fabilab/iplotx/badge.svg?branch=main)](https://coveralls.io/github/fabilab/iplotx?branch=main)
![pylint](assets/pylint.svg)

# iplotx
[![Banner](docs/source/_static/banner.png)](https://iplotx.readthedocs.io/en/latest/gallery/index.html).

Visualise networks and trees in Python, with style.

Supports:
- **networks**:
  - [networkx](https://networkx.org/)
  - [igraph](igraph.readthedocs.io/)
  - [minimal network data structure](https://iplotx.readthedocs.io/en/latest/gallery/plot_simplenetworkdataprovider.html#sphx-glr-gallery-plot-simplenetworkdataprovider-py) (for educational purposes)
- **trees**:
  - [ETE4](https://etetoolkit.github.io/ete/)
  - [cogent3](https://cogent3.org/)
  - [Biopython](https://biopython.org/)
  - [scikit-bio](https://scikit.bio)
  - [minimal tree data structure](https://iplotx.readthedocs.io/en/latest/gallery/tree/plot_simpletreedataprovider.html#sphx-glr-gallery-tree-plot-simpletreedataprovider-py) (for educational purposes)

In addition to the above, *any* network or tree analysis library can register an [entry point](https://iplotx.readthedocs.io/en/latest/providers.html#creating-a-custom-data-provider) to gain compatibility with `iplotx` with no intervention from our side.

**NOTE**: This is currently late beta quality software. The API and functionality might break rarely.

## Installation
```bash
pip install iplotx
```

## Quick Start
```python
import networkx as nx
import matplotlib.pyplot as plt
import iplotx as ipx

g = nx.Graph([(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)])
layout = nx.layout.circular_layout(g)
fig, ax = plt.subplots(figsize=(3, 3))
ipx.plot(g, ax=ax, layout=layout)
```

![Quick start image](docs/source/_static/graph_basic.png)

## Documentation
See [readthedocs](https://iplotx.readthedocs.io/en/latest/) for the full documentation.

## Gallery
See [gallery](https://iplotx.readthedocs.io/en/latest/gallery/index.html).

## Features
- Plot networks from multiple libraries including networkx and igraph, using matplotlib as a backend. ✅
- Plot trees from multiple libraries such as cogent3, ETE4, skbio, and biopython. ✅
- Flexible yet easy styling, including an internal library of styles ✅
- Interactive plotting, e.g. zooming and panning after the plot is created. ✅
- Store the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.). ✅
- Efficient plotting of large graphs using matplotlib's collection functionality. ✅
- Edit plotting elements after the plot is created, e.g. changing node colors, labels, etc. ✅
- Animations, e.g. showing the evolution of a network over time. ✅
- Mouse and keyboard interaction, e.g. hovering over nodes/edges to get information about them. ✅
- Node clustering and covers, e.g. showing communities in a network. ✅
- Choice of tree layouts and orientations. ✅
- Tree-specific options: cascades, subtree styling, split edges, etc. ✅
- (WIP) Support uni- and bi-directional communication between graph object and plot object.🏗️

## Authors
Fabio Zanini (https://fabilab.org)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "iplotx",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Fabio Zanini <fabio.zanini@unsw.edu.au>",
    "keywords": "graph, network, plotting, visualisation",
    "author": null,
    "author_email": "Fabio Zanini <fabio.zanini@unsw.edu.au>",
    "download_url": "https://files.pythonhosted.org/packages/97/e1/b7b5fecc76e3f92a24f840b0b425f2c25d1afb166308a71433a999b735a8/iplotx-0.6.1.tar.gz",
    "platform": null,
    "description": "![Github Actions](https://github.com/fabilab/iplotx/actions/workflows/test.yml/badge.svg)\n![PyPI - Version](https://img.shields.io/pypi/v/iplotx)\n![RTD](https://readthedocs.org/projects/iplotx/badge/?version=latest)\n[![Coverage Status](https://coveralls.io/repos/github/fabilab/iplotx/badge.svg?branch=main)](https://coveralls.io/github/fabilab/iplotx?branch=main)\n![pylint](assets/pylint.svg)\n\n# iplotx\n[![Banner](docs/source/_static/banner.png)](https://iplotx.readthedocs.io/en/latest/gallery/index.html).\n\nVisualise networks and trees in Python, with style.\n\nSupports:\n- **networks**:\n  - [networkx](https://networkx.org/)\n  - [igraph](igraph.readthedocs.io/)\n  - [minimal network data structure](https://iplotx.readthedocs.io/en/latest/gallery/plot_simplenetworkdataprovider.html#sphx-glr-gallery-plot-simplenetworkdataprovider-py) (for educational purposes)\n- **trees**:\n  - [ETE4](https://etetoolkit.github.io/ete/)\n  - [cogent3](https://cogent3.org/)\n  - [Biopython](https://biopython.org/)\n  - [scikit-bio](https://scikit.bio)\n  - [minimal tree data structure](https://iplotx.readthedocs.io/en/latest/gallery/tree/plot_simpletreedataprovider.html#sphx-glr-gallery-tree-plot-simpletreedataprovider-py) (for educational purposes)\n\nIn addition to the above, *any* network or tree analysis library can register an [entry point](https://iplotx.readthedocs.io/en/latest/providers.html#creating-a-custom-data-provider) to gain compatibility with `iplotx` with no intervention from our side.\n\n**NOTE**: This is currently late beta quality software. The API and functionality might break rarely.\n\n## Installation\n```bash\npip install iplotx\n```\n\n## Quick Start\n```python\nimport networkx as nx\nimport matplotlib.pyplot as plt\nimport iplotx as ipx\n\ng = nx.Graph([(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)])\nlayout = nx.layout.circular_layout(g)\nfig, ax = plt.subplots(figsize=(3, 3))\nipx.plot(g, ax=ax, layout=layout)\n```\n\n![Quick start image](docs/source/_static/graph_basic.png)\n\n## Documentation\nSee [readthedocs](https://iplotx.readthedocs.io/en/latest/) for the full documentation.\n\n## Gallery\nSee [gallery](https://iplotx.readthedocs.io/en/latest/gallery/index.html).\n\n## Features\n- Plot networks from multiple libraries including networkx and igraph, using matplotlib as a backend. \u2705\n- Plot trees from multiple libraries such as cogent3, ETE4, skbio, and biopython. \u2705\n- Flexible yet easy styling, including an internal library of styles \u2705\n- Interactive plotting, e.g. zooming and panning after the plot is created. \u2705\n- Store the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.). \u2705\n- Efficient plotting of large graphs using matplotlib's collection functionality. \u2705\n- Edit plotting elements after the plot is created, e.g. changing node colors, labels, etc. \u2705\n- Animations, e.g. showing the evolution of a network over time. \u2705\n- Mouse and keyboard interaction, e.g. hovering over nodes/edges to get information about them. \u2705\n- Node clustering and covers, e.g. showing communities in a network. \u2705\n- Choice of tree layouts and orientations. \u2705\n- Tree-specific options: cascades, subtree styling, split edges, etc. \u2705\n- (WIP) Support uni- and bi-directional communication between graph object and plot object.\ud83c\udfd7\ufe0f\n\n## Authors\nFabio Zanini (https://fabilab.org)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Plot networkx from igraph and networkx.",
    "version": "0.6.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/fabilab/iplotx/issues",
        "Changelog": "https://github.com/fabilab/iplotx/blob/main/CHANGELOG.md",
        "Documentation": "https://readthedocs.org/iplotx",
        "Homepage": "https://github.com/fabilab/iplotx",
        "Repository": "https://github.com/fabilab/iplotx.git"
    },
    "split_keywords": [
        "graph",
        " network",
        " plotting",
        " visualisation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "800072af8631de4ff0cc64d1c0f68e74ac994fef9e5083c738be891110fb3288",
                "md5": "9c5790d9380cda78d00c03362c4c9573",
                "sha256": "15c3b53dc129dca0e33706a21a077ee725f9389991b82df4fb20f946fb48ac80"
            },
            "downloads": -1,
            "filename": "iplotx-0.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9c5790d9380cda78d00c03362c4c9573",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 74128,
            "upload_time": "2025-07-28T01:31:28",
            "upload_time_iso_8601": "2025-07-28T01:31:28.880382Z",
            "url": "https://files.pythonhosted.org/packages/80/00/72af8631de4ff0cc64d1c0f68e74ac994fef9e5083c738be891110fb3288/iplotx-0.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "97e1b7b5fecc76e3f92a24f840b0b425f2c25d1afb166308a71433a999b735a8",
                "md5": "64d03dba480fffc37de1ca2dc1057051",
                "sha256": "cde80d27e74231b1142659072b214dd1a25c963952dae506be1ef43fd0970c5b"
            },
            "downloads": -1,
            "filename": "iplotx-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "64d03dba480fffc37de1ca2dc1057051",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 1450587,
            "upload_time": "2025-07-28T01:31:30",
            "upload_time_iso_8601": "2025-07-28T01:31:30.556015Z",
            "url": "https://files.pythonhosted.org/packages/97/e1/b7b5fecc76e3f92a24f840b0b425f2c25d1afb166308a71433a999b735a8/iplotx-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-28 01:31:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fabilab",
    "github_project": "iplotx",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "iplotx"
}
        
Elapsed time: 1.48593s