diff --git a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
index 09a009f95f0644abe3e560228d2cd04f0f543cfb..9fce7cd690c77acbb8ed635afbfd8e71d468b250 100644
--- a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
@@ -36,10 +36,10 @@ public class DataStageView extends DataVisualizationView implements Observer {
 
     private Map<String, ScatterChart.Series<Double, Double>> serieList;
 
-    private XYChart.Series series1;
-    private XYChart.Series series2;
-    private XYChart.Series series3;
-    private XYChart.Series series4;
+    private ScatterChart.Series series1;
+    private ScatterChart.Series series2;
+    private ScatterChart.Series series3;
+    private ScatterChart.Series series4;
 
     private Stage root;
 
diff --git a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
index c3ad5af65602dcf8a469e619d393a5955429e562..3fdc4552777055ad7c7f2eca8076b643e73bccfd 100644
--- a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
@@ -1,6 +1,13 @@
 package fr.univlille.sae.classification.view;
 
+import fr.univlille.sae.classification.controller.MainStageController;
+import fr.univlille.sae.classification.model.ClassificationModel;
+import fr.univlille.sae.classification.model.LoadableData;
+import fr.univlille.sae.classification.utils.Observable;
+import fr.univlille.sae.classification.utils.ViewUtil;
 import javafx.scene.chart.ScatterChart;
+import javafx.scene.chart.XYChart;
+import javafx.scene.shape.*;
 
 /**
  * Classe abstraite représentant une vue de visualisation des données.
@@ -8,10 +15,14 @@ import javafx.scene.chart.ScatterChart;
  */
 public abstract class DataVisualizationView {
 
+    private ScatterChart.Series series1;
+    private ScatterChart.Series series2;
+    private ScatterChart.Series series3;
+    private ScatterChart.Series series4;
     protected String actualX;
     protected String actualY;
     protected ScatterChart scatterChart;
-
+    private MainStageController controller;
     /**
      * Constructeur par défaut.
      */
@@ -61,4 +72,51 @@ public abstract class DataVisualizationView {
      * Méthode abstraite à implémenter pour recharger les données de la vue.
      */
     public abstract void reload();
+
+
+    /**
+     * Met à jour l'affichage en ajoutant un nouveau point de données.
+     * @param observable modèle observé.
+     * @param data point de données à ajouter.
+     */
+    public void update(Observable observable, Object data) {
+        try {
+            if (scatterChart == null || !(observable instanceof ClassificationModel)) {
+                System.err.println("Erreur de mise à jour.");
+                return;
+            }
+            LoadableData newData = (LoadableData) data;
+            if (actualX == null || actualY == null) {
+                controller.setAxesSelected("Aucuns axes sélectionnés");
+                return;
+            }
+            Object attrX = newData.getAttributesNames().get(actualX);
+            Object attrY = newData.getAttributesNames().get(actualY);
+            if (attrX instanceof Integer) {
+                attrX = ((Integer) attrX).doubleValue();
+            }
+            if (attrY instanceof Integer) {
+                attrY = ((Integer) attrY).doubleValue();
+            }
+            XYChart.Data<Double, Double> dataPoint = new XYChart.Data<>(
+                    (Double) attrX,
+                    (Double) attrY
+            );
+
+            dataPoint.setNode(ViewUtil.getForm(newData, new Rectangle(10, 10), controller));
+
+            if (!scatterChart.getData().isEmpty()) {
+                if (series4 == null) {
+                    series4 = new ScatterChart.Series<>();
+                }
+                series4.getData().add(dataPoint);
+                series4.setName("indéfini");
+                scatterChart.getData().add(series4);
+            }
+        } catch (Exception e) {
+            System.err.println("Erreur de mise à jour : " + e.getMessage());
+        }
+    }
+
+
 }