diff --git a/src/runalyzer.py b/src/runalyzer.py
index 7110fdbf3ec0da7c568107772a8325cd517c6735..a21ace5e85f22a8811686dc8584032daf1c69589 100644
--- a/src/runalyzer.py
+++ b/src/runalyzer.py
@@ -40,8 +40,8 @@ class RunDB(object):
         self.db = db
         self.interactive = interactive
 
-    def q(self, qry):
-        return self.db.execute(self.mangle_sql(qry))
+    def q(self, qry, *extra_args):
+        return self.db.execute(self.mangle_sql(qry), *extra_args)
 
     def mangle_sql(self, qry):
         return qry
@@ -71,6 +71,11 @@ class RunDB(object):
         elif len(cursor.description) > 2:
             small_legend = kwargs.pop("small_legend", True)
 
+            def format_label(kv_pairs):
+                return " ".join("%s:%s" % (column[0], value)
+                            for column, value in kv_pairs)
+            format_label = kwargs.pop("format_label", format_label)
+
             def do_plot():
                 my_kwargs = kwargs.copy()
                 style = PLOT_STYLES[style_idx[0] % len(PLOT_STYLES)]
@@ -79,8 +84,10 @@ class RunDB(object):
                     my_kwargs.setdefault("color", style.color)
 
                 my_kwargs.setdefault("label",
-                        " ".join("%s:%s" % (column[0], value)
-                            for column, value in zip(cursor.description[2:], last_rest)))
+                        format_label(zip(
+                            (col[0] for col in cursor.description[2:]), 
+                            last_rest)))
+
                 plot(x, y, hold=True, *args, **my_kwargs)
                 style_idx[0] += 1
                 del x[:]