diff --git a/src/View/BoundaryCondition/BoundaryConditionWindow.py b/src/View/BoundaryCondition/BoundaryConditionWindow.py
index 07fdeb6f55feb2f9ef66657fa628e7c30aecf1c0..0688b7007dcb224960ef8267d086451ca47b7d71 100644
--- a/src/View/BoundaryCondition/BoundaryConditionWindow.py
+++ b/src/View/BoundaryCondition/BoundaryConditionWindow.py
@@ -27,10 +27,12 @@ from View.BoundaryCondition.BCUndoCommand import (
     AddCommand, DelCommand, SortCommand,
     MoveCommand, PasteCommand, DuplicateCommand,
 )
+
 from Model.BoundaryCondition.BoundaryConditionTypes import (
     NotDefined, PonctualContribution,
     TimeOverZ, TimeOverDebit, ZOverDebit
 )
+
 from View.BoundaryCondition.translate import long_types
 from View.BoundaryCondition.Edit.Window import EditBoundaryConditionWindow
 
diff --git a/src/View/BoundaryCondition/Edit/Plot.py b/src/View/BoundaryCondition/Edit/Plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..be3ad8544172d88e6dbbafe112bc857599a2b39b
--- /dev/null
+++ b/src/View/BoundaryCondition/Edit/Plot.py
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+
+from tools import timer, trace
+from View.Plot.APlot import APlot
+
+from PyQt5.QtCore import (
+    QCoreApplication
+)
+
+from View.BoundaryCondition.Edit.translate import *
+
+_translate = QCoreApplication.translate
+
+class Plot(APlot):
+    def __init__(self, canvas=None, data=None, toolbar=None):
+        super(Plot, self).__init__(
+            canvas=canvas,
+            data=data,
+            toolbar=toolbar
+        )
+
+    @timer
+    def draw(self):
+        self.canvas.axes.cla()
+        self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
+
+        if len(self.data) == 0:
+            self._init = False
+            return
+
+        # Plot data
+        x = list(map(lambda v: v[0], self.data.data))
+        y = list(map(lambda v: v[1], self.data.data))
+        self._line, = self.canvas.axes.plot(
+            x, y,
+            color='r', lw=1.,
+            markersize=5, marker='+',
+            picker=30
+        )
+
+        # Plot label
+        header = self.data.header
+        self.canvas.axes.set_xlabel(
+            table_headers[header[0]], color='black', fontsize=10
+        )
+        self.canvas.axes.set_ylabel(
+            table_headers[header[1]], color='black', fontsize=10
+        )
+
+        self.canvas.figure.tight_layout()
+        self.canvas.figure.canvas.draw_idle()
+        self.toolbar.update()
+
+        self._init = True
+
+    @timer
+    def update(self, ind=None):
+        if self._init == False:
+            self.draw()
+            return
+
+        # if ind is not None:
+
+        # else:
+
+        self.canvas.figure.tight_layout()
+        self.canvas.figure.canvas.draw_idle()
diff --git a/src/View/BoundaryCondition/Edit/Table.py b/src/View/BoundaryCondition/Edit/Table.py
index 9235bee8393635daef6a13fd28ab65e5594e6b40..1e9033d0153aa2c97b74aaa1e246d01cc8a60e41 100644
--- a/src/View/BoundaryCondition/Edit/Table.py
+++ b/src/View/BoundaryCondition/Edit/Table.py
@@ -15,25 +15,20 @@ from PyQt5.QtWidgets import (
     QTableView, QAbstractItemView,
 )
 
+from Model.BoundaryCondition.BoundaryConditionTypes import (
+    NotDefined, PonctualContribution,
+    TimeOverZ, TimeOverDebit, ZOverDebit
+)
+
 from View.BoundaryCondition.Edit.UndoCommand import (
     SetDataCommand, AddCommand, DelCommand,
     SortCommand, MoveCommand, PasteCommand,
     DuplicateCommand,
 )
-
-from Model.BoundaryCondition.BoundaryConditionTypes import (
-    NotDefined, PonctualContribution,
-    TimeOverZ, TimeOverDebit, ZOverDebit
-)
+from View.BoundaryCondition.Edit.translate import *
 
 _translate = QCoreApplication.translate
 
-table_headers = {
-    "time": _translate("BoundaryCondition", "Time"),
-    "debit": _translate("BoundaryCondition", "Debit"),
-    "z": _translate("BoundaryCondition", "Z (m)")
-}
-
 
 class TableModel(QAbstractTableModel):
     def __init__(self, data=None, undo=None):
diff --git a/src/View/BoundaryCondition/Edit/UndoCommand.py b/src/View/BoundaryCondition/Edit/UndoCommand.py
index 7f3bbef536b4f75f8ada332fcd1dc8216fdfba6b..c20288ff4c10c881b97db3988f02bbfd9477c2af 100644
--- a/src/View/BoundaryCondition/Edit/UndoCommand.py
+++ b/src/View/BoundaryCondition/Edit/UndoCommand.py
@@ -79,7 +79,7 @@ class SortCommand(QUndoCommand):
 
     def redo(self):
         self._data.sort(
-            reverse=self._reverse,
+            _reverse=self._reverse,
             key=lambda x: x.name
         )
         if self._indexes is None:
diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py
index 7de37c5e1bb7e8169478e4c941cd24519d8986ea..5823a2cea99ae06ff710dbd41ee1dc1ee23e65fc 100644
--- a/src/View/BoundaryCondition/Edit/Window.py
+++ b/src/View/BoundaryCondition/Edit/Window.py
@@ -17,8 +17,11 @@ from PyQt5.QtWidgets import (
     QUndoStack, QShortcut, QAction, QItemDelegate,
 )
 
+from View.Plot.MplCanvas import MplCanvas
+
 from View.BoundaryCondition.translate import long_types
 from View.BoundaryCondition.Edit.Table import TableModel
+from View.BoundaryCondition.Edit.Plot import Plot
 
 _translate = QCoreApplication.translate
 
@@ -34,6 +37,7 @@ class EditBoundaryConditionWindow(ASubMainWindow, ListedSubWindow):
         self.setup_window()
         self.setup_sc()
         self.setup_table()
+        self.setup_plot()
         self.setup_connections()
 
     def setup_window(self):
@@ -67,6 +71,18 @@ class EditBoundaryConditionWindow(ASubMainWindow, ListedSubWindow):
         table.setSelectionBehavior(QAbstractItemView.SelectRows)
         table.setAlternatingRowColors(True)
 
+    def setup_plot(self):
+        self.canvas = MplCanvas(width=5, height=4, dpi=100)
+        self.canvas.setObjectName("canvas")
+        self.verticalLayout.addWidget(self.canvas)
+
+        self.plot = Plot(
+            canvas = self.canvas,
+            data = self._data,
+        )
+        self.plot.draw()
+
+
     def setup_connections(self):
         self.find(QAction, "action_add").triggered.connect(self.add)
         self.find(QAction, "action_del").triggered.connect(self.delete)
diff --git a/src/View/BoundaryCondition/Edit/translate.py b/src/View/BoundaryCondition/Edit/translate.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3fa75135617dce4859d6e05dc0845d78842a373
--- /dev/null
+++ b/src/View/BoundaryCondition/Edit/translate.py
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+
+from PyQt5.QtCore import QCoreApplication
+
+_translate = QCoreApplication.translate
+
+table_headers = {
+    "time": _translate("BoundaryCondition", "Time"),
+    "debit": _translate("BoundaryCondition", "Debit"),
+    "z": _translate("BoundaryCondition", "Z (m)")
+}
diff --git a/src/View/ui/BoundaryConditions.ui b/src/View/ui/BoundaryConditions.ui
index 8a0f8f962687b9a6df0057fbc166206932967c99..5d68ac0a98cf366443ef971027aa7edcc56249c8 100644
--- a/src/View/ui/BoundaryConditions.ui
+++ b/src/View/ui/BoundaryConditions.ui
@@ -25,19 +25,43 @@
   <widget class="QWidget" name="centralwidget">
    <layout class="QGridLayout" name="gridLayout">
     <item row="0" column="0">
-     <widget class="QSplitter" name="splitter">
-      <property name="sizePolicy">
-       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
+     <widget class="QTabWidget" name="tabWidget">
+      <property name="currentIndex">
+       <number>0</number>
       </property>
-      <property name="orientation">
-       <enum>Qt::Horizontal</enum>
-      </property>
-      <widget class="QTableView" name="tableView"/>
-      <widget class="QWidget" name="verticalLayoutWidget">
-       <layout class="QVBoxLayout" name="verticalLayout"/>
+      <widget class="QWidget" name="tab">
+       <attribute name="title">
+        <string>Liquid</string>
+       </attribute>
+       <layout class="QGridLayout" name="gridLayout_2">
+        <item row="0" column="0">
+         <widget class="QSplitter" name="splitter">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <widget class="QTableView" name="tableView"/>
+          <widget class="QWidget" name="verticalLayoutWidget">
+           <layout class="QVBoxLayout" name="verticalLayout"/>
+          </widget>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="tab_2">
+       <attribute name="title">
+        <string>Solid</string>
+       </attribute>
+      </widget>
+      <widget class="QWidget" name="tab_3">
+       <attribute name="title">
+        <string>Suspension</string>
+       </attribute>
       </widget>
      </widget>
     </item>