summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/python/gudhi/barycenter.py58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/python/gudhi/barycenter.py b/src/python/gudhi/barycenter.py
index c2173dba..11098afe 100644
--- a/src/python/gudhi/barycenter.py
+++ b/src/python/gudhi/barycenter.py
@@ -225,61 +225,3 @@ def lagrangian_barycenter(pdiagset, init=None, verbose=False):
else:
return Y
-def _plot_barycenter(X, Y, groupings):
- """
- :param X: list of persistence diagrams.
- :param Y: numpy.array of (n x 2). Aims to be an estimate of the barycenter
- returned by lagrangian_barycenter(X, verbose=True).
- :param groupings: list of lists, such that L[k][i] = j if and only if
- the i-th point of the barycenter is grouped with the j-th point of the k-th
- diagram.
- """
- # import matplotlib now to avoid useless dependancies
-
- import matplotlib.pyplot as plt
- from matplotlib.patches import Polygon
-
- fig = plt.figure()
- ax = fig.add_subplot(111)
-
- # n_y = len(Y.points)
- for i in range(len(X)):
- indices = groupings[i]
- n_i = len(X[i])
-
- for (y_j, x_i_j) in indices:
- y = Y[y_j]
- if y[0] != y[1]:
- if x_i_j < n_i: # not mapped with the diag
- x = X[i][x_i_j]
- else: # y_j is matched to the diagonal
- x = _proj_on_diag(y)
- ax.plot([y[0], x[0]], [y[1], x[1]], c='black',
- linestyle="dashed")
-
- ax.scatter(Y[:,0], Y[:,1], color='purple', marker='d', zorder=2)
-
- for X_i in X:
- if X_i.size > 0:
- ax.scatter(X_i[:,0], X_i[:,1], marker ='o', zorder=2)
-
- shift = 0.1 # for improved rendering
- try:
- xmin = np.min(np.array([np.min(x[:,0]) for x in X if len(x) > 0]) - shift)
- xmax = np.max(np.array([np.max(x[:,0]) for x in X if len(x) > 0]) + shift)
- ymin = np.min(np.array([np.max(x[:,1]) for x in X if len(x) > 0]) - shift)
- ymax = np.max(np.array([np.max(x[:,1]) for x in X if len(x) > 0]) + shift)
- except ValueError: # to handle the pecular case where we only average empty diagrams.
- xmin, xmax, ymin, ymax = 0, 1, 0, 1
- themin = min(xmin, ymin)
- themax = max(xmax, ymax)
- ax.set_xlim(themin, themax)
- ax.set_ylim(themin, themax)
- ax.add_patch(Polygon([[themin,themin], [themax,themin], [themax,themax]], fill=True, color='lightgrey'))
- ax.set_xticks([])
- ax.set_yticks([])
- ax.set_aspect('equal', adjustable='box')
- ax.set_title("Estimated barycenter")
-
- plt.show()
-