diff --git a/src/View/InitialConditions/PlotDKP.py b/src/View/InitialConditions/PlotDKP.py
index 2c32db24938994e379732ef0f3a4bcfcb0721b04..d7a442864e507a4baca1e28f7c0b3811349a242b 100644
--- a/src/View/InitialConditions/PlotDKP.py
+++ b/src/View/InitialConditions/PlotDKP.py
@@ -27,53 +27,66 @@ _translate = QCoreApplication.translate
 
 
 class PlotDKP(PamhyrPlot):
+    def __init__(self, canvas=None, trad=None, toolbar=None,
+                 data=None, parent=None):
+        super(PlotDKP, self).__init__(
+            canvas=canvas,
+            trad=trad,
+            data=data,
+            toolbar=toolbar,
+            parent=parent
+        )
+
+        self.label_x = self._trad["kp"]
+        self.label_y = self._trad["elevation"]
+
+        self._isometric_axis = False
+
+        self._auto_relim_update = True
+        self._autoscale_update = True
+
     @timer
     def draw(self, highlight=None):
-        self.canvas.axes.cla()
-        self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
+        self.init_axes()
 
         if self.data is None:
             return
 
-        self.canvas.axes.set_ylabel(
-            self._trad["elevation"],
-            color='black', fontsize=11
-        )
-        self.canvas.axes.set_xlabel(
-            self._trad["kp"],
-            color='black', fontsize=11
-        )
+        self.draw_river_bottom()
+        self.draw_water()
+
+        self.idle()
+        self._init = True
 
+    def draw_river_bottom(self):
         kp = self.data.reach.reach.get_kp()
         z_min = self.data.reach.reach.get_z_min()
 
-        self.canvas.axes.set_xlim(
-            left=min(kp), right=max(kp)
-        )
-
         self.line_kp_zmin = self.canvas.axes.plot(
             kp, z_min,
-            color='grey', lw=1.
+            color=self.color_plot_river_bottom,
+            lw=1.
         )
 
+    def draw_water(self):
         if len(self.data) != 0:
             kp = self.data.get_kp()
             elevation = self.data.get_elevation()
 
             self.line_kp_elevation = self.canvas.axes.plot(
                 kp, elevation,
-                color='b', marker='+', lw=1.
+                color=self.color_plot_river_water,
+                **self.plot_default_kargs
             )
 
-        self.canvas.figure.tight_layout()
-        self.canvas.figure.canvas.draw_idle()
-        if self.toolbar is not None:
-            self.toolbar.update()
+            z_min = self.data.reach.reach.get_z_min()
 
-        # self._init = True
+            self.collection = self.canvas.axes.fill_between(
+                kp, z_min, elevation,
+                color=self.color_plot_river_water_zone,
+                alpha=0.7, interpolate=True
+            )
 
     @timer
     def update(self, ind=None):
-        if not self._init:
-            self.draw()
-            return
+        self.draw()
diff --git a/src/View/InitialConditions/PlotDischarge.py b/src/View/InitialConditions/PlotDischarge.py
index d89874aaae7df9a27e4bfb2eafc63bbd947f0ac4..7c43c1e557815071c4908de1de08783b1034cc91 100644
--- a/src/View/InitialConditions/PlotDischarge.py
+++ b/src/View/InitialConditions/PlotDischarge.py
@@ -21,28 +21,38 @@ from View.Tools.PamhyrPlot import PamhyrPlot
 
 
 class PlotDischarge(PamhyrPlot):
+    def __init__(self, canvas=None, trad=None, toolbar=None,
+                 data=None, parent=None):
+        super(PlotDischarge, self).__init__(
+            canvas=canvas,
+            trad=trad,
+            data=data,
+            toolbar=toolbar,
+            parent=parent
+        )
+
+        self.label_x = self._trad["kp"]
+        self.label_y = self._trad["discharge"]
+
+        self._isometric_axis = False
+
+        self._auto_relim_update = True
+        self._autoscale_update = True
+
     @timer
-    def draw(self, highlight=None):
-        self.canvas.axes.cla()
-        self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
+    def draw(self):
+        self.init_axes()
 
         if self.data is None:
             return
 
-        self.canvas.axes.set_ylabel(
-            self._trad["discharge"],
-            color='black', fontsize=11
-        )
-        self.canvas.axes.set_xlabel(
-            self._trad["kp"],
-            color='black', fontsize=11
-        )
+        self.draw_data()
 
-        kp = self.data.reach.reach.get_kp()
+        self.idle()
+        self._init = True
 
-        self.canvas.axes.set_xlim(
-            left=min(kp), right=max(kp)
-        )
+    def draw_data(self):
+        kp = self.data.reach.reach.get_kp()
 
         if len(self.data) != 0:
             kp = self.data.get_kp()
@@ -50,18 +60,10 @@ class PlotDischarge(PamhyrPlot):
 
             self.line_kp_zmin = self.canvas.axes.plot(
                 kp, discharge,
-                color='r', lw=1.
+                color=self.color_plot,
+                **self.plot_default_kargs
             )
 
-        self.canvas.figure.tight_layout()
-        self.canvas.figure.canvas.draw_idle()
-        if self.toolbar is not None:
-            self.toolbar.update()
-
-        # self._init = True
-
     @timer
     def update(self, ind=None):
-        if not self._init:
-            self.draw()
-            return
+        self.draw()
diff --git a/src/View/Tools/PamhyrPlot.py b/src/View/Tools/PamhyrPlot.py
index c0c060cc5a70ec751bcf009ce81e1edb0af99d45..df11dfdbad6472e856c98e41f925a3e46c73673a 100644
--- a/src/View/Tools/PamhyrPlot.py
+++ b/src/View/Tools/PamhyrPlot.py
@@ -36,6 +36,8 @@ class PamhyrPlot(APlot):
     color_plot_current = "blue"
     color_plot_next = "purple"
     color_plot_river_bottom = "grey"
+    color_plot_river_water = "blue"
+    color_plot_river_water_zone = "skyblue"
 
     colors = list(mplcolors.TABLEAU_COLORS)