diff --git a/scripts/plot.py b/scripts/plot.py
index 38334593cf84493ff2ae228f150cae35981195f9..fc16665b9989bece767c0ebca84fc5aa7cd913fc 100644
--- a/scripts/plot.py
+++ b/scripts/plot.py
@@ -30,26 +30,35 @@ def main(
     elif name == "timeseq":
         for ndim, group_ndim in df.groupby('ndim'):
             plt.figure()
-            for (kernel_type, interp_type, tree_height, interp_order), group in group_ndim.groupby(['kernel_type', 'interp_type', 'tree_height', 'interp_order']):
-                x = group['size']
-                y = group['timefull_avg']
-                plt.plot(x, y, label=f"k={kernel_type}-i={interp_type}-h={tree_height}-o={interp_order}")
+            for interp_type, group_interp in group_ndim.groupby('interp_type'):
+                x = group_interp['size']
+                y = group_interp['timefull_avg']
+                plt.plot(x, y, label=f"i={interp_type}", marker='x')
+                if interp_type == 1:
+                    for xi, yi, height in zip(x, y, group_interp['tree_height']):
+                        plt.text(xi, yi, str(height), fontsize=8, ha='right')
+            kernel_type = group_interp['kernel_type'].iloc[0]
+            interp_order = group_ndim['interp_order'].iloc[0]
             plt.xlabel('Size')
             plt.ylabel('Time (s)')
-            plt.title(f'Time vs. Size (d={ndim})')
+            plt.title(f'Time vs. Size (d={ndim},k={kernel_type},o={interp_order})')
             plt.legend()
             plt.savefig(f'scalfmm_timeseq_d={ndim}.pdf', bbox_inches='tight')
 
     elif name == "timeomp":
         for ndim, group_ndim in df.groupby('ndim'):
             plt.figure()
-            for (kernel_type, interp_type, tree_height, interp_order, size, groupsize), group in group_ndim.groupby(['kernel_type', 'interp_type', 'tree_height', 'interp_order', 'size', 'groupsize']):
-                x = group['nthread']
-                y = group['timefull_avg']
-                plt.plot(x, y, label=f"k={kernel_type}-i={interp_type}-h={tree_height}-o={interp_order}-{size}-{groupsize}")
+            for groupsize, group_groupsize in group_ndim.groupby('groupsize'):
+                x = group_groupsize['nthread']
+                y = group_groupsize['timefull_avg']
+                plt.plot(x, y, label=f"gs={groupsize}", marker='x')
+            size = group_groupsize['size'].iloc[0]
+            kernel_type = group_groupsize['kernel_type'].iloc[0]
+            interp_order = group_groupsize['interp_order'].iloc[0]
+            tree_height = group_groupsize['tree_height'].iloc[0]
             plt.xlabel('Number of threads')
             plt.ylabel('Time (s)')
-            plt.title(f'Time vs. Number of threads (d={ndim})')
+            plt.title(f'Time vs. Number of threads (d={ndim},s={size},k={kernel_type},o={interp_order},h={tree_height})')
             plt.legend()
             plt.savefig(f'scalfmm_timeomp_d={ndim}.pdf', bbox_inches='tight')