summaryrefslogtreecommitdiff
path: root/src/python/gudhi/clustering
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2020-04-28 20:33:20 +0200
committerMarc Glisse <marc.glisse@inria.fr>2020-04-28 20:33:20 +0200
commit6b387c03293ff90bf117f06a794c7d440848a9c4 (patch)
tree83dc2a9dc0c4b0969017bda41e45ddd61f057264 /src/python/gudhi/clustering
parent5f9a63e440a7ffdcd9fde689b6eb3b3a6b76b9bd (diff)
plot_diagram when there are no finite points
Diffstat (limited to 'src/python/gudhi/clustering')
-rw-r--r--src/python/gudhi/clustering/tomato.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/python/gudhi/clustering/tomato.py b/src/python/gudhi/clustering/tomato.py
index f25dacd5..5f1f8e24 100644
--- a/src/python/gudhi/clustering/tomato.py
+++ b/src/python/gudhi/clustering/tomato.py
@@ -327,9 +327,20 @@ class Tomato:
"""
import matplotlib.pyplot as plt
- plt.plot(self.diagram_[:, 0], self.diagram_[:, 1], "ro")
- l = self.diagram_[:, 1].min()
- r = max(self.diagram_[:, 0].max(), self.max_density_per_cc_.max())
+ if self.diagram_.size > 0:
+ plt.plot(self.diagram_[:, 0], self.diagram_[:, 1], "ro")
+ l = self.diagram_[:, 1].min()
+ r = max(self.diagram_[:, 0].max(), self.max_density_per_cc_.max())
+ else:
+ l = self.max_density_per_cc_.min()
+ r = self.max_density_per_cc_.max()
+ if l == r:
+ if l > 0:
+ l, r = .9 * l, 1.1 * r
+ elif l < 0:
+ l, r = 1.1 * l, .9 * r
+ else:
+ l, r = -1., 1.
plt.plot([l, r], [l, r])
plt.plot(
self.max_density_per_cc_, numpy.full(self.max_density_per_cc_.shape, 1.1 * l - 0.1 * r), "ro", color="green"