From 6b387c03293ff90bf117f06a794c7d440848a9c4 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Tue, 28 Apr 2020 20:33:20 +0200 Subject: plot_diagram when there are no finite points --- src/python/gudhi/clustering/tomato.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/python') 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" -- cgit v1.2.3