iplotx 0.5.0__py3-none-any.whl → 0.5.1__py3-none-any.whl

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/edge/geometry.py CHANGED
@@ -96,7 +96,6 @@ def _get_shorter_edge_coords(vpath, vsize, theta):
96
96
  xe = v1[0]
97
97
  else:
98
98
  m12 = (v2[1] - v1[1]) / (v2[0] - v1[0])
99
- print(m12, mtheta)
100
99
  xe = (v1[1] - m12 * v1[0]) / (mtheta - m12)
101
100
  ye = mtheta * xe
102
101
  ve = np.array([xe, ye])
@@ -199,7 +198,6 @@ def _compute_edge_path_straight(
199
198
 
200
199
  # Angle of the straight line
201
200
  theta = atan2(*((vcoord_fig[1] - vcoord_fig[0])[::-1]))
202
- print(vcoord_data_cart, vcoord_fig, theta)
203
201
 
204
202
  # Shorten at starting vertex
205
203
  vs = _get_shorter_edge_coords(vpath_fig[0], vsize_fig[0], theta) + vcoord_fig[0]
iplotx/version.py CHANGED
@@ -2,4 +2,4 @@
2
2
  iplotx version information module.
3
3
  """
4
4
 
5
- __version__ = "0.5.0"
5
+ __version__ = "0.5.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iplotx
3
- Version: 0.5.0
3
+ Version: 0.5.1
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
@@ -43,9 +43,25 @@ Description-Content-Type: text/markdown
43
43
  ![pylint](assets/pylint.svg)
44
44
 
45
45
  # iplotx
46
- Plotting networks from igraph and networkx.
46
+ [![Banner](docs/source/_static/banner.png)](https://iplotx.readthedocs.io/en/latest/gallery/index.html).
47
47
 
48
- **NOTE**: This is currently beta quality software. The API and functionality are settling in and might break occasionally.
48
+ Visualise networks and trees in Python, with style.
49
+
50
+ Supports:
51
+ - **networks**:
52
+ - [networkx](https://networkx.org/)
53
+ - [igraph](igraph.readthedocs.io/)
54
+ - [minimal network data structure](https://iplotx.readthedocs.io/en/latest/gallery/plot_simplenetworkdataprovider.html#sphx-glr-gallery-plot-simplenetworkdataprovider-py) (for educational purposes)
55
+ - **trees**:
56
+ - [ETE4](https://etetoolkit.github.io/ete/)
57
+ - [cogent3](https://cogent3.org/)
58
+ - [Biopython](https://biopython.org/)
59
+ - [scikit-bio](https://scikit.bio)
60
+ - [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)
61
+
62
+ 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.
63
+
64
+ **NOTE**: This is currently late beta quality software. The API and functionality might break rarely.
49
65
 
50
66
  ## Installation
51
67
  ```bash
@@ -72,19 +88,20 @@ See [readthedocs](https://iplotx.readthedocs.io/en/latest/) for the full documen
72
88
  ## Gallery
73
89
  See [gallery](https://iplotx.readthedocs.io/en/latest/gallery/index.html).
74
90
 
75
- ## Roadmap
76
- - Plot networks from igraph and networkx interchangeably, using matplotlib as a backend. ✅
77
- - Support interactive plotting, e.g. zooming and panning after the plot is created. ✅
78
- - Support storing the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.).
79
- - Support flexible yet easy styling. ✅
91
+ ## Features
92
+ - Plot networks from multiple libraries including networkx and igraph, using matplotlib as a backend. ✅
93
+ - Plot trees from multiple libraries such as cogent3, ETE4, skbio, and biopython. ✅
94
+ - Flexible yet easy styling, including an internal library of styles
95
+ - Interactive plotting, e.g. zooming and panning after the plot is created. ✅
96
+ - Store the plot to disk thanks to the many matplotlib backends (SVG, PNG, PDF, etc.). ✅
80
97
  - Efficient plotting of large graphs using matplotlib's collection functionality. ✅
81
- - Support editing plotting elements after the plot is created, e.g. changing node colors, labels, etc. ✅
82
- - Support animations, e.g. showing the evolution of a network over time. ✅
83
- - Support mouse interaction, e.g. hovering over or clicking on nodes and edges to get information about them. ✅
84
- - Support trees from special libraries such as ete3, biopython, etc. This will need a dedicated function and layouting. ✅
85
- - Support uni- and bi-directional communication between graph object and plot object.🏗️
86
-
87
- **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).
98
+ - Edit plotting elements after the plot is created, e.g. changing node colors, labels, etc. ✅
99
+ - Animations, e.g. showing the evolution of a network over time. ✅
100
+ - Mouse and keyboard interaction, e.g. hovering over nodes/edges to get information about them. ✅
101
+ - Node clustering and covers, e.g. showing communities in a network. ✅
102
+ - Choice of tree layouts and orientations.
103
+ - Tree-specific options: cascades, subtree styling, split edges, etc. ✅
104
+ - (WIP) Support uni- and bi-directional communication between graph object and plot object.🏗️
88
105
 
89
106
  ## Authors
90
107
  Fabio Zanini (https://fabilab.org)
@@ -8,11 +8,11 @@ iplotx/network.py,sha256=SlmDgc4tbCfvO08QWk-jUXrUfaz6S3xoXQVg6rP1910,11345
8
8
  iplotx/plotting.py,sha256=RZj-E_2R8AbXoJmxr_qAC-g_nOudqep-TDSIV4QB9BM,7408
9
9
  iplotx/tree.py,sha256=iILQRKUZzcDKIiwI1LheSuixi5y_3PAQrz61vdwi6DU,27448
10
10
  iplotx/typing.py,sha256=QLdzV358IiD1CFe88MVp0D77FSx5sSAVUmM_2WPPE8I,1463
11
- iplotx/version.py,sha256=jzr3_UVrKVs0fo73K5UioUFwKYv5i4rA--sHkaSaQkw,66
11
+ iplotx/version.py,sha256=dsB8xhRODrwa4OXOSbePgoZzy41j_DudRu80QRgFkpw,66
12
12
  iplotx/vertex.py,sha256=OjDIkJCNU-IhZUVeZTSzGwTlHLrxu27lUThiUuEb6Qs,14497
13
13
  iplotx/edge/__init__.py,sha256=0w-BDZpVyR4qM908PM5DzlNVXwwfxAeDNyHNXPWPgcc,26237
14
14
  iplotx/edge/arrow.py,sha256=y8xMZY1eR5BXBmkX0_aDIn-3CeqaL6jwGGLw-ndUf50,12867
15
- iplotx/edge/geometry.py,sha256=-WLdI-BVB12-Zcq1Jc4LqDFoViuOfljTax-YHI1N7cc,13359
15
+ iplotx/edge/geometry.py,sha256=g9_z7nwlQhQm9Tvj2tme9dGboxkN-4jeUUg02gU-vOk,13285
16
16
  iplotx/edge/leaf.py,sha256=SyGMv2PIOoH0pey8-aMVaZheK3hNe1Qz_okcyWbc4E4,4268
17
17
  iplotx/edge/ports.py,sha256=BpkbiEhX4mPBBAhOv4jcKFG4Y8hxXz5GRtVLCC0jbtI,1235
18
18
  iplotx/ingest/__init__.py,sha256=tsXDoa7Rs6Y1ulWtjCcUsO4tQIigeQ6ZMiU2PQDyhwQ,4751
@@ -33,6 +33,6 @@ iplotx/utils/geometry.py,sha256=UH2gAcM5rYW7ADnJEm7HIJTpPF4UOm8P3vjSVCOGjqM,9192
33
33
  iplotx/utils/internal.py,sha256=WWfcZDGK8Ut1y_tOHRGg9wSqY1bwSeLQO7dHM_8Tvwo,107
34
34
  iplotx/utils/matplotlib.py,sha256=KpkuwXuSqpYbPVKbrlP8u_1Ry5gy5q60ZBrFiR-do_Q,5284
35
35
  iplotx/utils/style.py,sha256=wMWxJykxBD-JmcN8-rSKlWcV6pMfwKgR4EzSpk_NX8k,547
36
- iplotx-0.5.0.dist-info/METADATA,sha256=QPPJUkwVArD550-tLmUpq11Qaczb7M9xgma8bDHijVc,3958
37
- iplotx-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
38
- iplotx-0.5.0.dist-info/RECORD,,
36
+ iplotx-0.5.1.dist-info/METADATA,sha256=P1TOV3nMA2ihSTdEFQLNdRztBrKUmpVcIpxNFYPcOQE,4889
37
+ iplotx-0.5.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
38
+ iplotx-0.5.1.dist-info/RECORD,,
File without changes