8000 Select RadioButtons by closest in position. (#13268) · matplotlib/matplotlib@5d475d1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5d475d1

8000 Browse files
mromanietimhoffm
authored andcommitted
Select RadioButtons by closest in position. (#13268)
* Select RadioButtons by closest in position. Modify the selection criterion for RadioButtons so that the closest to the mouse click is activated. * Update widgets.py * Update widgets.py @timhoffm Done!
1 parent bf464c3 commit 5d475d1

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/matplotlib/widgets.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,11 +1058,14 @@ def _clicked(self, event):
10581058
return
10591059
xy = self.ax.transAxes.inverted().transform_point((event.x, event.y))
10601060
pclicked = np.array([xy[0], xy[1]])
1061+
distances = {}
10611062
for i, (p, t) in enumerate(zip(self.circles, self.labels)):
10621063
if (t.get_window_extent().contains(event.x, event.y)
10631064
or np.linalg.norm(pclicked - p.center) < p.radius):
1064-
self.set_active(i)
1065-
break
1065+
distances[i] = np.linalg.norm(pclicked - p.center)
1066+
if len(distances) > 0:
1067+
closest = min(distances, key=distances.get)
1068+
self.set_active(closest)
10661069

10671070
def set_active(self, index):
10681071
"""

0 commit comments

Comments
 (0)
0