diff --git a/src/wela/dataloader.py b/src/wela/dataloader.py
index 6ca43fc9f29b870854e2267aa673959c4b2cc773..f19a8e0c1ef9a7a74bd7fb3ff66d82fb25916cb5 100644
--- a/src/wela/dataloader.py
+++ b/src/wela/dataloader.py
@@ -651,9 +651,12 @@ class dataloader:
                 print(group, "not recognised")
                 return None, None
         else:
-            wdf = df[df.group == group].pivot(
-                columns="time", index="id", values=signal
-            )
+            if group is None:
+                wdf = df.pivot(columns="time", index="id", values=signal)
+            else:
+                wdf = df[df.group == group].pivot(
+                    columns="time", index="id", values=signal
+                )
         time = wdf.columns.to_numpy()
         # each column is a time series
         values = wdf.to_numpy()
diff --git a/src/wela/plotting.py b/src/wela/plotting.py
index 025e51815e7d6d64dd8743148285646e6c277ae9..4e47b063517ecd067e5c66451e1085de55a3ee4b 100644
--- a/src/wela/plotting.py
+++ b/src/wela/plotting.py
@@ -21,12 +21,13 @@ def kymograph(
     vmax=None,
     vmin=None,
     cmap=None,
-    buddings=True,
+    buddings=False,
     figsize=(6, 10),
     title=None,
     filterfunc=None,
     standardscale=False,
     robust=False,
+    sort_order=None,
     returnfig=False,
 ):
     """
@@ -68,6 +69,8 @@ def kymograph(
         and its standard deviation to one.
     robust: boolean, optional
         If True, change colourmap to show 2-98% of all the data's values.
+    sort_order: np.array, optional
+        An array specifying the order to plot the cells.
     returnfig: boolean, optional
         If True, return fig and ax.
 
@@ -77,6 +80,11 @@ def kymograph(
     >>> kymograph(dl.df, hue="median_GFP")
     >>> kymograph(dl.df, hue="bud_volume", title="2% Gal")
     >>> kymograph(dl.df, hue="buddings", group="Msn2")
+    >>>
+    >>> from wela.sorting import sort_by_budding
+    >>> _, buddings = dl.get_time_series(buddings)
+    >>> sort_order = sort_by_budding(buddings)
+    >>> kymograph(dl.df, hue="flavin", sort_order=sort_order)
     """
     if cmap is None:
         if hue == "buddings":
@@ -96,6 +104,8 @@ def kymograph(
     wdf = df.pivot(index=y, columns=x, values=hue)
     dt = np.min(np.diff(np.sort(df.time.unique())))
     data = wdf.to_numpy()
+    if sort_order is not None:
+        data = data[np.argsort(sort_order), :]
     if filterfunc is not None:
         data = filterfunc(data)
     if standardscale:
@@ -135,6 +145,8 @@ def kymograph(
     )
     if buddings:
         buddings = df.pivot(index=y, columns=x, values="buddings").to_numpy()
+        if sort_order is not None:
+            buddings = buddings[np.argsort(sort_order), :]
         bud_mask = np.ma.masked_where(buddings == 0, buddings)
         ax.imshow(bud_mask, interpolation="none")
     ax.figure.colorbar(