29/10/11 21:50, Benjamin Root
> On Saturday, October 29, 2011, Antoine Levitt
> <antoine.lev...@gmail.com> wrote:
>> 29/10/11 21:20, Benjamin Root
>>> On Saturday, October 29, 2011, Antoine Levitt
>>> <antoine.lev...@gmail.com> wrote:
>>>> 29/10/11 19:39, Benjamin Root
>>>>> I don't think there is a document for the default keymaps, and
>>> there
>>>>> has been some talk about redoing default keybindings, because
> they
>>> are
>>>>> so hidden and varies from backend to backend.
>>>>>
>>>>> In the meantime, I would suggest checking out the "event
> handeling"
>>>>> section of the examples page. You can have a function that you
>>> attach
>>>>> to the "key_press_event", which takes an "event" object as an
>>>>> argument.  That event object has the key that was pressed.  You
> can
>>>>> then have an if...elif...else statement for all the keys and
>>> actions,
>>>>> or have a dictionary of key-action pairs.
>>>>>
>>>>> Hope that helps!
>>>>> Ben Root
>>>>
>>>> That's pretty cool! However, I have to do it for every figure I
>>> create,
>>>> there doesn't seem to be a way to tell matplotlib : "whenever a
>>> figure
>>>> is created, associate this handler to this event".
>>>>
>>>> I think I'll just wait for the keybinding stuff to get refactored,
>>> which
>>>> would definitely be a good idea (I only found out via very
> indirect
>>>> means, and had to change backend to get them working). It seems
>>>> worthwhile to have a "q" default binding to exit the plot.
>>>>
>>>
>>> The basic event handling isn't going to be refactored.  I was
> merely
>>> speaking of how the default keymaps are set.  Yes, you will need to
>>> mpl_connect for each figure object.  This is standard for any GUI
>>> control system.  What you can do is make a function that produces a
>>> figure for you as well as perform any event connections for you.
>>>
>>> Ben Root
>>
>> The problem is that I don't usually invoke figure(), I just do
>> plot(x,y), which will presumably call figure for me. So unless
> there's
>> some kind of event that's run after figure is called, I can't have a
>> generic way of adding my bindings.
>>
>
> Try
>
> gcf().canvas.mpl_connect(...)

Just typing f = gcf() displays a figure, which I don't want to do. I
want to be able to put something in my ipython init file that'd set my
bindings, without changing anything else.

------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook 
in minutes. BlackBerry App World&#153; now supports Android&#153; Apps 
for the BlackBerry&reg; PlayBook&#153;. Discover just how easy and simple 
it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to