Made scatter use the new methods for index/identifier-conversion.
This commit is contained in:
parent
5b2223afcd
commit
a613f0a3fa
|
@ -460,7 +460,6 @@ class ScatterPlot(Plot):
|
||||||
return self._toolbar
|
return self._toolbar
|
||||||
|
|
||||||
def rectangle_select_callback(self, x1, y1, x2, y2):
|
def rectangle_select_callback(self, x1, y1, x2, y2):
|
||||||
'event1 and event2 are the press and release events'
|
|
||||||
ydata = self.yaxis_data
|
ydata = self.yaxis_data
|
||||||
xdata = self.xaxis_data
|
xdata = self.xaxis_data
|
||||||
|
|
||||||
|
@ -479,20 +478,13 @@ class ScatterPlot(Plot):
|
||||||
#logger.log('debug','Selection y_start bigger than y_end')
|
#logger.log('debug','Selection y_start bigger than y_end')
|
||||||
index =scipy.nonzero((xdata>x1) & (xdata<x2) & (ydata<y1) & (ydata>y2))
|
index =scipy.nonzero((xdata>x1) & (xdata<x2) & (ydata<y1) & (ydata>y2))
|
||||||
|
|
||||||
# generate ids for selected indices
|
ids = self.dataset.get_identifiers(self.current_dim, index)
|
||||||
reverse = {}
|
self.selection_listener(self.current_dim, ids)
|
||||||
for key, value in self.dataset[self.current_dim].items():
|
|
||||||
reverse[value] = key
|
|
||||||
ids = []
|
|
||||||
for ind in index:
|
|
||||||
ids.append(reverse[ind])
|
|
||||||
|
|
||||||
self.selection_listener(self.current_dim,ids)
|
|
||||||
|
|
||||||
def selection_changed(self, selection):
|
def selection_changed(self, selection):
|
||||||
ids = selection[self.current_dim] # current identifiers
|
ids = selection[self.current_dim] # current identifiers
|
||||||
|
|
||||||
index = [ind for id,ind in self.dataset[self.current_dim].items() if id in ids] #conversion to index
|
index = self.dataset.get_indices(self.current_dim, ids)
|
||||||
xdata_new = scipy.take(self.xaxis_data,index) #take data
|
xdata_new = scipy.take(self.xaxis_data,index) #take data
|
||||||
ydata_new = scipy.take(self.yaxis_data,index)
|
ydata_new = scipy.take(self.yaxis_data,index)
|
||||||
self.ax.clear()
|
self.ax.clear()
|
||||||
|
|
Reference in New Issue