8000 Bugfix: enable picking of AsteriskCollection instances by efiring · Pull Request #72 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

Bugfix: enable picking of AsteriskCollection instances #72

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 13, 2011

Conversation

efiring
Copy link
Member
@efiring efiring commented Apr 4, 2011

A primary use of these is in scatter, where they provide + and x
symbols.

This fixes the problem reported here:
http://article.gmane.org/gmane.comp.python.matplotlib.devel/10069

The present commit is a fairly minimal solution to the problem; it makes the symbols pickable without breaking anything that I know of. It does change default behavior in that filled symbols from scatter (i.e., collections) now obey the pickradius--the cursor can be outside the symbol if self._pickradius or self._picker is non-zero. This could be addressed by setting different default _pickradius falues for different types of symbol; the filled types could default to zero, or at least to a smaller value than the default for unfilled types, and this can then be overridden by the picker kwarg if the user so chooses. I would be willing to add this change to the present branch, if others think it a good idea; I am neutral on doing it here and now.

Note that all this leaves an inconsistency between collections and Line2D objects. In the former, picking is based on the object path after stroking with a line of pickradius thickness; in the latter picking is based on datapoint locations and pickradius alone, with no account taken of the marker size. If any of this is to be smoothed out, I am inclined to do it in master, not v1.0.x.

A primary use of these is in scatter, where they provide + and x
symbols.

def get_pickradius(self):
return self._pickradius

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noticing that this, Line and Axis all have a pickradius, maybe it belongs in Artist? Doesn't necessarily have to be done for this pull, but it seems like a useful refactoring to make.

@efiring efiring merged commit 9eb10ef into matplotlib:v1.0.x Apr 13, 2011
@richbwood richbwood mentioned this pull request Dec 19, 2012
magnunor pushed a commit to magnunor/matplotlib that referenced this pull request Dec 5, 2013
fariza added a commit to fariza/matplotlib that referenced this pull request Sep 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0