I was trying to implement something where the user could change the properties of an artist by right clicking on it...so I needed to find out what artists are under the cursor at the time of the click. It is possible that the method that I'm using isn't the recommended one; if not, I would appreciate any suggestions.
I'm using fig.hitlist() to get the list of artists. This function works
just fine with a regular xy plot, but if one (or both) of the axes are in
log scale, I get a NotImplementedError exception and associated stack trace
(run the attached demo code to see). The exception is being caused by line
249 in artists.py.
Now, if I modify artists.py slightly to swallow the exception, replacing
for a in self.get_children():
L.extend(a.hitlist(event))
with
try:
for a in self.get_children():
L.extend(a.hitlist(event))
except:
pass
Then everything seems to work. However, being unfamiliar with the code, I'm
not sure what else that might break, or how bad of an idea swallowing the
exception is here.
I have attached a small demo code. The error occurs in matplotlib 1.0.0 and
matplotlib 1.0.1, on both Linux and Windows.
--
Daniel Hyams
[email protected]
hitlist_problem.py
Description: Binary data
------------------------------------------------------------------------------ Why Cloud-Based Security and Archiving Make Sense Osterman Research conducted this study that outlines how and why cloud computing security and archiving is rapidly being adopted across the IT space for its ease of implementation, lower cost, and increased reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________ Matplotlib-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-users
