# Hoop Diagram
Visualize set intersections.
## Features
* highlight elements or set, preserves provided set order
* export diagram to resolution independent SVG file format
* minimal dependencies, built on top of Python native set type
* preview of diagram before exporting
* released under the permissive MIT License
## Installation
To install, just run:
```
pip install hoop-diagram
```
## Usage
```python
import hoop_diagram
diagram = hoop_diagram.visualize.Hoop(sets=[{1, 2}, {3, 4}, {1, 3, 5}, {1, 5}])
```
| | | |
|---|---|---|
| |`diagram.highlight_element(5)` | `diagram.highlight_set({1, 2})` |
|`diagram.show()` |`diagram.show()` | `diagram.show()` |
| ![Standard Visualization](assets/standard.svg) | ![Visualization with Highlighted Element](assets/highlighted_element.svg) | ![Visualization with Highlighted Set](assets/highlighted_set.svg) |
## References
* [Peter Rodgers, Peter Chapman, Andrew Blake, Martin Nöllenburg, Markus Wallinger, & Alexander Dobler. (2024). Hoop Diagrams: A Set Visualization Method.](https://arxiv.org/abs/2406.13260)
Raw data
{
"_id": null,
"home_page": null,
"name": "hoop-diagram",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "Visualization, Set, Hoop Diagram, Linear Diagram, Set Visualization, SVG",
"author": null,
"author_email": "\"Yannik T. H. Schelske\" <yannik@yths.de>",
"download_url": "https://files.pythonhosted.org/packages/65/42/b37324480b822050b0bc42b9b120996339c6c75549b9dfd551e951f1964e/hoop_diagram-0.0.3.tar.gz",
"platform": null,
"description": "# Hoop Diagram\nVisualize set intersections.\n## Features\n* highlight elements or set, preserves provided set order\n* export diagram to resolution independent SVG file format\n* minimal dependencies, built on top of Python native set type\n* preview of diagram before exporting\n* released under the permissive MIT License\n## Installation\nTo install, just run:\n```\npip install hoop-diagram\n```\n## Usage\n```python\nimport hoop_diagram\ndiagram = hoop_diagram.visualize.Hoop(sets=[{1, 2}, {3, 4}, {1, 3, 5}, {1, 5}])\n```\n| | | |\n|---|---|---|\n| |`diagram.highlight_element(5)` | `diagram.highlight_set({1, 2})` |\n|`diagram.show()` |`diagram.show()` | `diagram.show()` |\n| ![Standard Visualization](assets/standard.svg) | ![Visualization with Highlighted Element](assets/highlighted_element.svg) | ![Visualization with Highlighted Set](assets/highlighted_set.svg) |\n## References\n* [Peter Rodgers, Peter Chapman, Andrew Blake, Martin N\u00f6llenburg, Markus Wallinger, & Alexander Dobler. (2024). Hoop Diagrams: A Set Visualization Method.](https://arxiv.org/abs/2406.13260)\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Visualize set intersections.",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/yths/hoop-diagram",
"Issues": "https://github.com/yths/hoop-diagram/issues"
},
"split_keywords": [
"visualization",
" set",
" hoop diagram",
" linear diagram",
" set visualization",
" svg"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1a95ddb5c5f8e49fa49dc0b1b825f23159d37ec1fb4a9b575f840d7a4b9dd518",
"md5": "619a4218092e6f2210a5305b3a3fa825",
"sha256": "f36e7e4357611b93d6cfa8886940ac8b2d942402ecd161889a4b15643f592ed9"
},
"downloads": -1,
"filename": "hoop_diagram-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "619a4218092e6f2210a5305b3a3fa825",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 4821,
"upload_time": "2024-10-20T07:05:03",
"upload_time_iso_8601": "2024-10-20T07:05:03.198687Z",
"url": "https://files.pythonhosted.org/packages/1a/95/ddb5c5f8e49fa49dc0b1b825f23159d37ec1fb4a9b575f840d7a4b9dd518/hoop_diagram-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6542b37324480b822050b0bc42b9b120996339c6c75549b9dfd551e951f1964e",
"md5": "44ca6b7bf0622bdca37c01e963ef3e23",
"sha256": "40bd02968915ef0599843788dcc256ff5516c69b30410d342222e661034922f9"
},
"downloads": -1,
"filename": "hoop_diagram-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "44ca6b7bf0622bdca37c01e963ef3e23",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 4486,
"upload_time": "2024-10-20T07:05:04",
"upload_time_iso_8601": "2024-10-20T07:05:04.837142Z",
"url": "https://files.pythonhosted.org/packages/65/42/b37324480b822050b0bc42b9b120996339c6c75549b9dfd551e951f1964e/hoop_diagram-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-20 07:05:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yths",
"github_project": "hoop-diagram",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "black",
"specs": [
[
"==",
"24.10.0"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.2.post1"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.8.30"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.17.1"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.7"
]
]
},
{
"name": "contourpy",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "cryptography",
"specs": [
[
"==",
"43.0.3"
]
]
},
{
"name": "cycler",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.21.2"
]
]
},
{
"name": "fonttools",
"specs": [
[
"==",
"4.54.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
"==",
"8.5.0"
]
]
},
{
"name": "jaraco.classes",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "jaraco.context",
"specs": [
[
"==",
"6.0.1"
]
]
},
{
"name": "jaraco.functools",
"specs": [
[
"==",
"4.1.0"
]
]
},
{
"name": "jeepney",
"specs": [
[
"==",
"0.8.0"
]
]
},
{
"name": "keyring",
"specs": [
[
"==",
"25.4.1"
]
]
},
{
"name": "kiwisolver",
"specs": [
[
"==",
"1.4.7"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.9.2"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"10.5.0"
]
]
},
{
"name": "mypy-extensions",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "nh3",
"specs": [
[
"==",
"0.2.18"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.1.2"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.1"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"11.0.0"
]
]
},
{
"name": "pkginfo",
"specs": [
[
"==",
"1.10.0"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"4.3.6"
]
]
},
{
"name": "pycairo",
"specs": [
[
"==",
"1.27.0"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.22"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.18.0"
]
]
},
{
"name": "pyparsing",
"specs": [
[
"==",
"3.2.0"
]
]
},
{
"name": "pyproject_hooks",
"specs": [
[
"==",
"1.2.0"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "readme_renderer",
"specs": [
[
"==",
"44.0"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "requests-toolbelt",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "rfc3986",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"13.9.2"
]
]
},
{
"name": "SecretStorage",
"specs": [
[
"==",
"3.3.3"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"75.2.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"5.1.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.2.3"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.20.2"
]
]
}
],
"lcname": "hoop-diagram"
}