diff --git a/requirements.txt b/requirements.txt
index c96343a478453da39ef4226d3e7d0c3db7fdc99d..2bf32b337522d9adcff839a91024db0f47d40187 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,4 +5,5 @@ pyqtgraph
 pandas
 PyQt6
 seaborn
-pyqtdarktheme
\ No newline at end of file
+pyqtdarktheme
+functools
\ No newline at end of file
diff --git a/tgms_made_easy.py b/tgms_made_easy.py
index e257e258b90a9d35b0e23a8cc2b974368379fe42..adff394e82ea46b02314911a1ed054b7f21807fd 100644
--- a/tgms_made_easy.py
+++ b/tgms_made_easy.py
@@ -18,6 +18,7 @@ from pyqtgraph.dockarea import Dock
 from pyqtgraph.dockarea import DockArea
 from qdarktheme import _style_loader
 from io import StringIO
+from functools import partial
 
 from animated_toggle import AnimatedToggle
 
@@ -775,24 +776,66 @@ class TGMSplot(pg.GraphicsLayoutWidget):
         self.tg_viewbox = pg.ViewBox()
         self.tg_viewbox.setXLink(self.global_viewbox)
 
-        # context menu
-        self.vb_menu = self.tg_viewbox.menu
-        self.vb_menu.addAction(QtGui.QAction("Rename Axis", self))
-
-        # context menu
-        self.global_menu = self.global_viewbox.menu
-        self.global_menu.addAction(QtGui.QAction("Rename Axis", self))
-
         # axes
-        mass_axis = pg.AxisItem("right")
-        mass_axis.setLabel("Sample Mass", units='%')
-        mass_axis.enableAutoSIPrefix(enable=False)
+        self.mass_axis = pg.AxisItem("right")
+        self.mass_axis.setLabel("Sample Mass", units='%')
+        self.mass_axis.enableAutoSIPrefix(enable=False)
 
         # compose layout
         self.addItem(self.plot)
-        self.addItem(mass_axis)
+        self.addItem(self.mass_axis)
         self.plot.scene().addItem(self.tg_viewbox)
-        mass_axis.linkToView(self.tg_viewbox)
+        self.mass_axis.linkToView(self.tg_viewbox)
+
+        # context menu (renaming axes)
+        rename_axesx_action = QtWidgets.QWidgetAction(self)
+        rename_axesx_layout = QtWidgets.QHBoxLayout()
+        rename_axesx_layout.addWidget(QtWidgets.QLabel("Rename"))
+        self.rename_axesx_edit = QtWidgets.QLineEdit(text=self.plot.getAxis("bottom").label.toPlainText())
+        rename_axesx_layout.addWidget(self.rename_axesx_edit)
+        rename_axesx_widget = QtWidgets.QWidget()
+        rename_axesx_widget.setLayout(rename_axesx_layout)
+        rename_axesx_action.setDefaultWidget(rename_axesx_widget)
+
+        rename_axesy_action = QtWidgets.QWidgetAction(self)
+        rename_axesy_layout = QtWidgets.QHBoxLayout()
+        rename_axesy_layout.addWidget(QtWidgets.QLabel("Rename"))
+        self.rename_axesy_edit = QtWidgets.QLineEdit(text=self.plot.getAxis("left").label.toPlainText())
+        rename_axesy_layout.addWidget(self.rename_axesy_edit)
+        rename_axesy_widget = QtWidgets.QWidget()
+        rename_axesy_widget.setLayout(rename_axesy_layout)
+        rename_axesy_action.setDefaultWidget(rename_axesy_widget)
+
+        rename_axesr_action = QtWidgets.QWidgetAction(self)
+        rename_axesr_layout = QtWidgets.QHBoxLayout()
+        rename_axesr_layout.addWidget(QtWidgets.QLabel("Rename"))
+        self.rename_axesr_edit = QtWidgets.QLineEdit(text=self.mass_axis.label.toPlainText())
+        rename_axesr_layout.addWidget(self.rename_axesr_edit)
+        rename_axesr_widget = QtWidgets.QWidget()
+        rename_axesr_widget.setLayout(rename_axesr_layout)
+        rename_axesr_action.setDefaultWidget(rename_axesr_widget)
+
+        # updating axes labels
+        self.rename_axesx_edit.textChanged.connect(partial(self.rename_axis, "bottom"))
+        self.rename_axesy_edit.textChanged.connect(partial(self.rename_axis, "left"))
+        self.rename_axesr_edit.textChanged.connect(partial(self.rename_axis, "right"))
+
+        self.global_menu = self.global_viewbox.menu
+        self.global_menu.axes[0].addAction(rename_axesx_action)
+        self.global_menu.axes[1].addAction(rename_axesy_action)
+
+        self.tg_menu = self.tg_viewbox.menu
+        self.tg_menu.axes[1].addAction(rename_axesr_action)
+        self.tg_menu.ctrlMenu = None
+        self.tg_menu.axes[0] = None 
+
+    def rename_axis(self, type):
+        if type == "bottom" or "left":
+            self.plot.getAxis(type).setLabel(self.rename_axesx_edit.text())
+            self.plot.getAxis(type).setLabel(self.rename_axesy_edit.text())
+        elif type == "right":
+            self.mass_axis.setLabel(self.rename_axesr_edit.text())
+
 
     def add_ms_plot(self, datax, datay, name):
         item = pg.PlotDataItem(