diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2020-04-28 20:33:20 +0200 |
---|---|---|
committer | Marc Glisse <marc.glisse@inria.fr> | 2020-04-28 20:33:20 +0200 |
commit | 6b387c03293ff90bf117f06a794c7d440848a9c4 (patch) | |
tree | 83dc2a9dc0c4b0969017bda41e45ddd61f057264 /src/python/gudhi/clustering/tomato.py | |
parent | 5f9a63e440a7ffdcd9fde689b6eb3b3a6b76b9bd (diff) |
plot_diagram when there are no finite points
Diffstat (limited to 'src/python/gudhi/clustering/tomato.py')
-rw-r--r-- | src/python/gudhi/clustering/tomato.py | 17 |
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" |