iplotx


Nameiplotx JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryPlot networkx from igraph and networkx.
upload_time2025-07-11 14:50:18
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)
![pylint](assets/pylint.svg)

# iplotx
Plotting networks from igraph and networkx.

**NOTE**: This is currently beta quality software. The API and functionality are settling in and might break occasionally.

## 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).

## Roadmap
- Plot networks from igraph and networkx interchangeably, using matplotlib as a backend. ✅
- Support interactive plotting, e.g. zooming and panning after the plot is created. ✅
- Support storing the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.). ✅
- Support flexible yet easy styling. ✅
- Efficient plotting of large graphs using matplotlib's collection functionality. ✅
- Support editing plotting elements after the plot is created, e.g. changing node colors, labels, etc. ✅
- Support animations, e.g. showing the evolution of a network over time. ✅
- Support mouse interaction, e.g. hovering over or clicking on nodes and edges to get information about them. ✅
- Support trees from special libraries such as ete3, biopython, etc. This will need a dedicated function and layouting. ✅
- Support uni- and bi-directional communication between graph object and plot object.🏗️

**NOTE:** The last item can probably be achieved already by using `matplotlib`'s existing callback functionality. It is currently untested, but if you manage to get it to work on your graph let me know and I'll add it to the examples (with credit).

## 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/e3/88/e1d20b5f4bf3a38722dbd62845e4d56fe6c51f1d693d4c45a96a7a594a15/iplotx-0.4.0.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![pylint](assets/pylint.svg)\n\n# iplotx\nPlotting networks from igraph and networkx.\n\n**NOTE**: This is currently beta quality software. The API and functionality are settling in and might break occasionally.\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## Roadmap\n- Plot networks from igraph and networkx interchangeably, using matplotlib as a backend. \u2705\n- Support interactive plotting, e.g. zooming and panning after the plot is created. \u2705\n- Support storing the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.). \u2705\n- Support flexible yet easy styling. \u2705\n- Efficient plotting of large graphs using matplotlib's collection functionality. \u2705\n- Support editing plotting elements after the plot is created, e.g. changing node colors, labels, etc. \u2705\n- Support animations, e.g. showing the evolution of a network over time. \u2705\n- Support mouse interaction, e.g. hovering over or clicking on nodes and edges to get information about them. \u2705\n- Support trees from special libraries such as ete3, biopython, etc. This will need a dedicated function and layouting. \u2705\n- Support uni- and bi-directional communication between graph object and plot object.\ud83c\udfd7\ufe0f\n\n**NOTE:** The last item can probably be achieved already by using `matplotlib`'s existing callback functionality. It is currently untested, but if you manage to get it to work on your graph let me know and I'll add it to the examples (with credit).\n\n## Authors\nFabio Zanini (https://fabilab.org)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Plot networkx from igraph and networkx.",
    "version": "0.4.0",
    "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": "51a93eefbacb2c6fea01b975ac8a0446f16e509fcb286b6508ed4281367a6658",
                "md5": "794f2ef4597c3e92117860753eaf2882",
                "sha256": "d7d1d343c7093711b6204e1660a08ed0569664e86c09ed987e9a5cdbf0b3b5b4"
            },
            "downloads": -1,
            "filename": "iplotx-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "794f2ef4597c3e92117860753eaf2882",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 69977,
            "upload_time": "2025-07-11T14:50:16",
            "upload_time_iso_8601": "2025-07-11T14:50:16.530796Z",
            "url": "https://files.pythonhosted.org/packages/51/a9/3eefbacb2c6fea01b975ac8a0446f16e509fcb286b6508ed4281367a6658/iplotx-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e388e1d20b5f4bf3a38722dbd62845e4d56fe6c51f1d693d4c45a96a7a594a15",
                "md5": "55933727c5c646a444cb9b899446ed4e",
                "sha256": "5bba72f0cf96ab5255efdb017a766f563b30177a683c00f75273e67fff8a6fde"
            },
            "downloads": -1,
            "filename": "iplotx-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "55933727c5c646a444cb9b899446ed4e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 983156,
            "upload_time": "2025-07-11T14:50:18",
            "upload_time_iso_8601": "2025-07-11T14:50:18.028536Z",
            "url": "https://files.pythonhosted.org/packages/e3/88/e1d20b5f4bf3a38722dbd62845e4d56fe6c51f1d693d4c45a96a7a594a15/iplotx-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 14:50:18",
    "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: 0.41397s