diff --git a/nixview/ui/plotscreen.py b/nixview/ui/plotscreen.py
index 8d724e8..8f3e616 100644
--- a/nixview/ui/plotscreen.py
+++ b/nixview/ui/plotscreen.py
@@ -430,12 +430,13 @@ class LinePlotter(Plotter):
                 y = self._dataview._buffer[i, int(start):int(end)]
 
             if len(self.lines) <= i:
-                ll, = self.axis.plot(x, y, label=l, picker=5)
+                ll, = self.axis.plot(x, y, label=l)
+                ll.set_pickradius(5)
                 self.lines.append(ll)
             else:
                 self.lines[i].set_ydata(y)
                 self.lines[i].set_xdata(x)
-
+        self.axis.legend()
         self.axis.set_xlim([x[0], x[-1]])
 
     def plot_array_1d(self, start=0):
@@ -446,8 +447,8 @@ class LinePlotter(Plotter):
         self.axis.set_ylabel(ylabel)
         self.view_changed.emit()
 
-    def plot_array_2d(self):
-        self.__draw_2d(0, self.maxpoints)
+    def plot_array_2d(self, start=0):
+        self.__draw_2d(start, start + self._segment_length)
         xlabel = create_label(self.dimensions[self.xdim])
         ylabel = create_label(self._item)
         self.axis.set_xlabel(xlabel)
diff --git a/nixview/util/file_handler.py b/nixview/util/file_handler.py
index 38f69d3..9cb514c 100644
--- a/nixview/util/file_handler.py
+++ b/nixview/util/file_handler.py
@@ -276,8 +276,8 @@ class FileHandler(metaclass=Singleton):
         dim = da.dimensions[dimension_index]
         if dim.dimension_type == nix.DimensionType.Set:
             labels = dim.labels
-            if start + count > len(labels):
-                raise ValueError("Invalid argument for start, count for SetDimension")
+            if len(labels) > 0 and start + count > len(labels):
+                raise ValueError("Invalid argument for start or count for SetDimension")
             axis = labels[start:start + count]
             if len(labels) == 0:
                 axis = list(map(str, range(start, start+count)))