diff --git a/grum/mainwin.py b/grum/mainwin.py index e976ced..a2e4fd9 100644 --- a/grum/mainwin.py +++ b/grum/mainwin.py @@ -86,6 +86,7 @@ class MainWindow(QMainWindow): rst.start() rst.server.register_function(self.new_plot) rst.server.register_function(self.append_data) + rst.server.register_function(self.extend_data) rst.server.register_function(self.set_data) self.sig_make_new_plot.connect(self.on_make_new_plot) @@ -119,6 +120,16 @@ class MainWindow(QMainWindow): desc.append(point) self.sync_item_and_plots(item) + def extend_data(self, name, data): + """ + Extend the current data of the (existing) plot .by + The data is forwarded to the extend method of PlotDescription. + """ + item = self.lst.get(name) + desc = item.value + desc.extend(data) + self.sync_item_and_plots(item) + def set_data(self, name, data): """ Set as the data of the (existing) plot . diff --git a/grum/plotdesc.py b/grum/plotdesc.py index eab0378..45832f3 100644 --- a/grum/plotdesc.py +++ b/grum/plotdesc.py @@ -24,6 +24,11 @@ class PlotDescription: self.xs.append(x) self.ys.append(y) + def extend(self, data): + xs, ys = data + self.xs.extend(xs) + self.ys.extend(ys) + def make_plot(self, plotwidget, style): res = plotwidget.plot(self.xs, self.ys, name=self.name, **style)