Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit dfcb0b7

Browse files
committed
Merge pull request #1 from tacaswell/blink_improve_selection_widgets
Blink improve selection widgets
2 parents 89ff4fd + 11374d0 commit dfcb0b7

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

lib/matplotlib/tests/test_widgets.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,9 @@ def get_event(ax, button=1, xdata=0, ydata=0, key=None, step=1):
6565

6666
@cleanup
6767
def check_rectangle(**kwargs):
68-
ax = plt.gca()
68+
fig, ax = plt.subplots(1, 1)
6969
ax.plot([0, 200], [0, 200])
70+
ax.figure.canvas.draw()
7071

7172
def onselect(epress, erelease):
7273
ax._got_onselect = True
@@ -100,8 +101,9 @@ def test_rectangle_selector():
100101

101102
@cleanup
102103
def check_span(*args, **kwargs):
103-
ax = plt.gca()
104+
fig, ax = plt.subplots(1, 1)
104105
ax.plot([0, 200], [0, 200])
106+
ax.figure.canvas.draw()
105107

106108
def onselect(vmin, vmax):
107109
ax._got_onselect = True
@@ -140,8 +142,10 @@ def test_span_selector():
140142

141143
@cleanup
142144
def check_lasso_selector(**kwargs):
145+
fig, ax = plt.subplots(1, 1)
143146
ax = plt.gca()
144147
ax.plot([0, 200], [0, 200])
148+
ax.figure.canvas.draw()
145149

146150
def onselect(verts):
147151
ax._got_onselect = True

lib/matplotlib/widgets.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,7 @@ def ignore(self, event):
11551155
# Only do rectangle selection if event was triggered
11561156
# with a desired button
11571157
if self.validButtons is not None:
1158-
if not event.button in self.validButtons:
1158+
if event.button not in self.validButtons:
11591159
return True
11601160

11611161
# If no button was pressed yet ignore the event if it was out
@@ -1164,7 +1164,7 @@ def ignore(self, event):
11641164
return event.inaxes != self.ax
11651165

11661166
# If a button was pressed, check if the release-button is the
1167-
# same.
1167+
# same.
11681168
if event.button == self.eventpress.button:
11691169
return False
11701170

@@ -1182,16 +1182,10 @@ def update(self):
11821182
if self.background is not None:
11831183
self.canvas.restore_region(self.background)
11841184
for artist in self.artists:
1185-
try:
1186-
self.ax.draw_artist(artist)
1187-
except AssertionError:
1188-
self.canvas.draw_idle()
1189-
return False
1190-
try:
1191-
self.canvas.blit(self.ax.bbox)
1192-
except AttributeError:
1193-
self.canvas.draw_idle()
1194-
return False
1185+
self.ax.draw_artist(artist)
1186+
1187+
self.canvas.blit(self.ax.bbox)
1188+
11951189
else:
11961190
self.canvas.draw_idle()
11971191
return False
@@ -1217,7 +1211,7 @@ def press(self, event):
12171211

12181212
def release(self, event):
12191213
"""Button release event"""
1220-
if not self.ignore(event) and not self.eventpress is None:
1214+
if not self.ignore(event) and self.eventpress is not None:
12211215
self.eventrelease = copy.copy(event)
12221216
self.eventrelease.xdata, self.eventrelease.ydata = (
12231217
self._get_data(event))

0 commit comments

Comments
 (0)