summaryrefslogtreecommitdiff
path: root/src/python/doc/persistence_graphical_tools_user.rst
diff options
context:
space:
mode:
Diffstat (limited to 'src/python/doc/persistence_graphical_tools_user.rst')
-rw-r--r--src/python/doc/persistence_graphical_tools_user.rst60
1 files changed, 45 insertions, 15 deletions
diff --git a/src/python/doc/persistence_graphical_tools_user.rst b/src/python/doc/persistence_graphical_tools_user.rst
index b2124fdd..e1d28c71 100644
--- a/src/python/doc/persistence_graphical_tools_user.rst
+++ b/src/python/doc/persistence_graphical_tools_user.rst
@@ -12,62 +12,92 @@ Definition
Show persistence as a barcode
-----------------------------
-.. note::
- this function requires matplotlib and numpy to be available
-
This function can display the persistence result as a barcode:
.. plot::
:include-source:
+ import matplotlib.pyplot as plt
import gudhi
off_file = gudhi.__root_source_dir__ + '/data/points/tore3D_300.off'
- point_cloud = gudhi.read_off(off_file=off_file)
+ point_cloud = gudhi.read_points_from_off_file(off_file=off_file)
rips_complex = gudhi.RipsComplex(points=point_cloud, max_edge_length=0.7)
simplex_tree = rips_complex.create_simplex_tree(max_dimension=3)
diag = simplex_tree.persistence(min_persistence=0.4)
- plot = gudhi.plot_persistence_barcode(diag)
- plot.show()
+ gudhi.plot_persistence_barcode(diag)
+ plt.show()
Show persistence as a diagram
-----------------------------
-.. note::
- this function requires matplotlib and numpy to be available
-
This function can display the persistence result as a diagram:
.. plot::
:include-source:
+ import matplotlib.pyplot as plt
import gudhi
# rips_on_tore3D_1307.pers obtained from write_persistence_diagram method
persistence_file=gudhi.__root_source_dir__ + \
'/data/persistence_diagram/rips_on_tore3D_1307.pers'
- plt = gudhi.plot_persistence_diagram(persistence_file=persistence_file,
+ ax = gudhi.plot_persistence_diagram(persistence_file=persistence_file,
legend=True)
+ # We can modify the title, aspect, etc.
+ ax.set_title("Persistence diagram of a torus")
+ ax.set_aspect("equal") # forces to be square shaped
+ plt.show()
+
+Note that (as barcode and density) it can also take a simple `np.array`
+of shape (N x 2) encoding a persistence diagram (in a given dimension).
+
+.. plot::
+ :include-source:
+
+ import matplotlib.pyplot as plt
+ import gudhi
+ import numpy as np
+ d = np.array([[0., 1.], [1., 2.], [1., np.inf]])
+ gudhi.plot_persistence_diagram(d)
plt.show()
Persistence density
-------------------
-.. note::
- this function requires matplotlib, numpy and scipy to be available
+:Requires: `SciPy <installation.html#scipy>`_
If you want more information on a specific dimension, for instance:
.. plot::
:include-source:
+ import matplotlib.pyplot as plt
import gudhi
-
# rips_on_tore3D_1307.pers obtained from write_persistence_diagram method
persistence_file=gudhi.__root_source_dir__ + \
'/data/persistence_diagram/rips_on_tore3D_1307.pers'
- plt = gudhi.plot_persistence_density(persistence_file=persistence_file,
- max_intervals=0, dimension=1, legend=True)
+ birth_death = gudhi.read_persistence_intervals_in_dimension(
+ persistence_file=persistence_file,
+ only_this_dim=1)
+ pers_diag = [(1, elt) for elt in birth_death]
+ # Use subplots to display diagram and density side by side
+ fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(12, 5))
+ gudhi.plot_persistence_diagram(persistence=pers_diag,
+ axes=axes[0])
+ gudhi.plot_persistence_density(persistence=pers_diag,
+ dimension=1, legend=True, axes=axes[1])
plt.show()
+
+LaTeX support
+-------------
+
+If you are facing issues with `LaTeX <installation.html#latex>`_ rendering, you can still deactivate LaTeX rendering by
+saying:
+
+.. code-block:: python
+
+ import gudhi
+ gudhi.persistence_graphical_tools._gudhi_matplotlib_use_tex=False