diff --git a/multiview_platform/mono_multi_view_classifiers/monoview/exec_classif_mono_view.py b/multiview_platform/mono_multi_view_classifiers/monoview/exec_classif_mono_view.py
index cc637d2757c1b04aae97e7b634ab852d04fdecb2..0b7b8f5bd4d7dcd1107149b821fb6456ff7b236b 100644
--- a/multiview_platform/mono_multi_view_classifiers/monoview/exec_classif_mono_view.py
+++ b/multiview_platform/mono_multi_view_classifiers/monoview/exec_classif_mono_view.py
@@ -16,7 +16,7 @@ from . import monoview_utils
 from .analyze_result import execute
 # Import own modules
 from .. import monoview_classifiers
-from ..utils.dataset import get_value, extract_subset, Dataset
+from ..utils.dataset import extract_subset, Dataset
 from ..utils import hyper_parameter_search
 
 # Author-Info
diff --git a/multiview_platform/mono_multi_view_classifiers/multiview/exec_multiview.py b/multiview_platform/mono_multi_view_classifiers/multiview/exec_multiview.py
index d1ccd57fd4596f269fc4454ebb2b6b8c790763f1..761a970d1da6936f38fd6c421ef744f6ea77612f 100644
--- a/multiview_platform/mono_multi_view_classifiers/multiview/exec_multiview.py
+++ b/multiview_platform/mono_multi_view_classifiers/multiview/exec_multiview.py
@@ -11,7 +11,6 @@ from .multiview_utils import MultiviewResult
 from . import analyze_results
 from .. import multiview_classifiers
 from ..utils import hyper_parameter_search
-from ..utils.dataset import get_shape
 
 # Author-Info
 __author__ = "Baptiste Bauvin"
diff --git a/multiview_platform/mono_multi_view_classifiers/result_analysis.py b/multiview_platform/mono_multi_view_classifiers/result_analysis.py
index d99e65147639428888dfada8d07515ca1a7b9cbc..661b84afcf664b0b57869e35ffc66bf374a14385 100644
--- a/multiview_platform/mono_multi_view_classifiers/result_analysis.py
+++ b/multiview_platform/mono_multi_view_classifiers/result_analysis.py
@@ -383,7 +383,8 @@ def iterCmap(statsIter):
 
 def publish2Dplot(data, classifiers_names, nbClassifiers, nbExamples, nbCopies,
                   fileName, minSize=10,
-                  width_denominator=2.0, height_denominator=20.0, stats_iter=1):
+                  width_denominator=2.0, height_denominator=20.0, stats_iter=1,
+                  use_plotly=False, example_ids=None):
     r"""Used to generate a 2D plot of the errors.
 
     Parameters
@@ -431,6 +432,20 @@ def publish2Dplot(data, classifiers_names, nbClassifiers, nbExamples, nbCopies,
 
     fig.savefig(fileName + "error_analysis_2D.png", bbox_inches="tight", transparent=True)
     plt.close()
+    ### The following part is used to generate an interactive graph.
+    if use_plotly:
+        import plotly
+        fig = plotly.graph_objs.go.Figure(data=plotly.graph_objs.go.Heatmap(
+            x=classifiers_names,
+            y=example_ids,
+            z=data,
+            colorscale="Greys",
+            ))
+        fig.update_layout(
+            xaxis={"showgrid": False, "showticklabels": False, "ticks": ''},
+            yaxis={"showgrid": False, "showticklabels": False, "ticks": ''})
+        plotly.offline.plot(fig, filename='essai.html', auto_open=False)
+        del fig
 
 
 def publishErrorsBarPlot(error_on_examples, nbClassifiers, nbExamples, fileName):
diff --git a/multiview_platform/mono_multi_view_classifiers/utils/dataset.py b/multiview_platform/mono_multi_view_classifiers/utils/dataset.py
index b00059035d1a63ee51f766cb451e663e23509ad1..991ee6a598daedd66db3de25cbebe0a27bccd165 100644
--- a/multiview_platform/mono_multi_view_classifiers/utils/dataset.py
+++ b/multiview_platform/mono_multi_view_classifiers/utils/dataset.py
@@ -424,10 +424,6 @@ class Dataset():
         return selected_label_names
 
 
-
-
-
-
 def datasets_already_exist(pathF, name, nbCores):
     """Used to check if it's necessary to copy datasets"""
     allDatasetExist = True
@@ -437,51 +433,6 @@ def datasets_already_exist(pathF, name, nbCores):
             pathF + name + str(coreIndex) + ".hdf5")
     return allDatasetExist
 
-# def get_v(dataset, view_index, used_indices=None):
-# #     """Used to extract a view as a numpy array or a sparse mat from the HDF5 dataset"""
-# #     if used_indices is None:
-# #         used_indices = range(dataset.get("Metadata").attrs["datasetLength"])
-# #     if type(used_indices) is int:
-# #         return dataset.get("View" + str(view_index))[used_indices, :]
-# #     else:
-# #         used_indices = np.array(used_indices)
-# #         sorted_indices = np.argsort(used_indices)
-# #         used_indices = used_indices[sorted_indices]
-# #
-# #         if not dataset.get("View" + str(view_index)).attrs["sparse"]:
-# #             return dataset.get("View" + str(view_index))[used_indices, :][
-# #                    np.argsort(sorted_indices), :]
-# #         else:
-# #             sparse_mat = sparse.csr_matrix(
-# #                 (dataset.get("View" + str(view_index)).get("data").value,
-# #                  dataset.get("View" + str(view_index)).get("indices").value,
-# #                  dataset.get("View" + str(view_index)).get("indptr").value),
-# #                 shape=dataset.get("View" + str(view_index)).attrs["shape"])[
-# #                          used_indices, :][
-# #                          np.argsort(sorted_indices), :]
-# #
-# #             return sparse_mat
-
-
-def get_shape(dataset, view_index):
-    """Used to get the dataset shape even if it's sparse"""
-    if not dataset.get("View" + str(view_index)).attrs["sparse"]:
-        return dataset.get("View" + str(view_index)).shape
-    else:
-        return dataset.get("View" + str(view_index)).attrs["shape"]
-
-
-def get_value(dataset):
-    """Used to get the value of a view in the HDF5 dataset even if it sparse"""
-    if not dataset.attrs["sparse"]:
-        return dataset[()]
-    else:
-        sparse_mat = sparse.csr_matrix((dataset.get("data")[()],
-                                        dataset.get("indices")[()],
-                                        dataset.get("indptr")[()]),
-                                       shape=dataset.attrs["shape"])
-        return sparse_mat
-
 
 def extract_subset(matrix, used_indices):
     """Used to extract a subset of a matrix even if it's sparse"""
@@ -590,10 +541,3 @@ def input_(timeout=15):
         return sys.stdin.readline().strip()
     else:
         return "y"
-
-def get_monoview_shared(path, name, view_name, labels_names, classification_indices):
-    """ATM is not used with shared memory, but soon :)"""
-    hdf5_dataset_file = h5py.File(path + name + ".hdf5", "w")
-    X = hdf5_dataset_file.get(view_name)[()]
-    y = hdf5_dataset_file.get("Labels")[()]
-    return X, y
diff --git a/multiview_platform/mono_multi_view_classifiers/utils/get_multiview_db.py b/multiview_platform/mono_multi_view_classifiers/utils/get_multiview_db.py
index 10de6108391355897b0afdfb710c49d89466f947..1e3e6a83d3f9408452794ef1cbd8874c5c5c170b 100644
--- a/multiview_platform/mono_multi_view_classifiers/utils/get_multiview_db.py
+++ b/multiview_platform/mono_multi_view_classifiers/utils/get_multiview_db.py
@@ -4,10 +4,8 @@ import logging
 
 import h5py
 import numpy as np
-from sklearn.base import BaseEstimator, TransformerMixin
-from sklearn.utils.validation import check_array
 
-from ..utils.dataset import Dataset, copy_hdf5
+from ..utils.dataset import Dataset
 
 # Author-Info
 __author__ = "Baptiste Bauvin"