SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S




1
(2)
2
3
4
5
(3)
6
(1)
7
8
9
10
11
12
13
(1)
14
15
(6)
16
(3)
17
(6)
18
19
(6)
20
21
(9)
22
(5)
23
24
25
26
27
28
29
30
(1)

Showing 3 results of 3

From: Todd M. <jm...@st...> - 2004年04月16日 16:00:37
On Fri, 2004年04月16日 at 08:09, John Hunter wrote:
> I think now is a good time to start implementing some GUI neutral
> event handling and wanted to bounce some ideas off the list. The idea
> is for matplotlib to define its own event handler in matplotlib.events
> and each of the GUIs trigger these events. Users could register with
> the event handler using an observer pattern. In user space, you could
> do something like the following and expect it to work across Tk, Wx
> and GTK::
> 
> import matplotlib.events as events
> 
> def key_press(event):
> print event.key
> 
> events.connect('key_press', key_press)
> 
> def button_press_press(event):
> print event.button
> 
> events.connect('button_press', button_press)
> 
> Each of the GUIs would call matplotlib.events.notify. The backends
> would have to map the GUI constants, eg LEFT_BUTTON, to the
> appropriate matplotlib.event constant and handle things like flip y
> inversion since the matplotlib coordinate system is 0,0 = lower, left.
> 
> This would also lay the groundwork for generalizing things like
> examples/object_picker.py, writing generic measure tools, and so on.
> You could write a GUI neutral axes resize tool where the user could
> click on an axes and drag the size. So it would be useful for the
> users who want to define some GUI interaction and or the developers
> who want to add features across backends w/o having to know all the
> widget sets.
> 
> My questions are
> 
> * Does this look like a good framework?
The meaning of the coords_demo_gtk was clear and easy to emulate. The
meaning of the events interface above (in the context of multiple figure
managers) is not so clear.
> * Does someone want to implement the interface matplotlib.events?
> 
> * Do the GUI maintainers for Tk (Todd), Wx (Jeremy) and GTK (Me)
> have time to do the mapping? If not can we get another volunteer?
I'm not imagining this as a major time sink so I'm pretty sure I'll be
able to support this.
> * What events do we want to define? The ones I use a lot are::
> 
> key_press_event
> key_release_event
> motion_notify_event
> button_press_event
> button_release_event
> 
> If these basic events are implemented at the backend level, we
> could catch them and trigger more complicated events like
> 'drag_rectangle' in matplotlib.events. Ie, catch press, mouse
> move, and release, and then trigger drag_rectangle with start and
> end locations in event.start and event.end.
> 
> * There is the issue of coords. x, y can be given in data, axes
> (0-1) or data coords. Probably best to give all three
> 
> event.xdata, event.ydata, 
> event.xaxis, event.yaxis,
> event.xdisplay, event.ydisplay
> 
> See examples/coords_demo_gtk.py for an example of connecting to a
> GTK event and mapping the display coords to data space. Jeremy
> and Todd, this would be a good example to implement as stage 1 for
> the event handling.
I implemented the coords demo for TkAgg this morning (just replace GTK
with TkAgg in the demo). I did this by implementing connect() for
FigureCanvasTkAgg... very simple so far. 
> 
> Of course, there is no end to how far you could go with this, defining
> a basic cross GUI widget API for dialog boxes, entry boxes and so on.
> A meta-wx, if you will. But that is an issue for another day.
I can see the utility of GUI neutrality and I'm in favor of it, but I'm
also inclined to keep it as simple as possible. I think it would be
easy to go overboard and start worrying about creating a meta-GUI
instead of a plotter. If we drive the backend development with demos
and concrete applications (rather than some abstract idea of universal
GUI substitutability) I think the idea will turn out well.
Regards,
Todd
-- 
Todd Miller <jm...@st...>
From: gary r. <gr...@bi...> - 2004年04月16日 13:10:31
I can't really comment on the framework (sounds OK but I have no experience
in this area), but you might want to add mouse wheel events and maybe both
single and double-click mouse button events.
Gary
*********** REPLY SEPARATOR ***********
On 16/04/2004 at 07:09 John Hunter wrote:
<snip>
> * What events do we want to define? The ones I use a lot are::
> 
> key_press_event
> key_release_event
> motion_notify_event
> button_press_event
> button_release_event
From: John H. <jdh...@ac...> - 2004年04月16日 12:31:25
I think now is a good time to start implementing some GUI neutral
event handling and wanted to bounce some ideas off the list. The idea
is for matplotlib to define its own event handler in matplotlib.events
and each of the GUIs trigger these events. Users could register with
the event handler using an observer pattern. In user space, you could
do something like the following and expect it to work across Tk, Wx
and GTK::
 import matplotlib.events as events
 def key_press(event):
 print event.key
 events.connect('key_press', key_press)
 def button_press_press(event):
 print event.button
 events.connect('button_press', button_press)
Each of the GUIs would call matplotlib.events.notify. The backends
would have to map the GUI constants, eg LEFT_BUTTON, to the
appropriate matplotlib.event constant and handle things like flip y
inversion since the matplotlib coordinate system is 0,0 = lower, left.
This would also lay the groundwork for generalizing things like
examples/object_picker.py, writing generic measure tools, and so on.
You could write a GUI neutral axes resize tool where the user could
click on an axes and drag the size. So it would be useful for the
users who want to define some GUI interaction and or the developers
who want to add features across backends w/o having to know all the
widget sets.
My questions are
 * Does this look like a good framework?
 * Does someone want to implement the interface matplotlib.events?
 * Do the GUI maintainers for Tk (Todd), Wx (Jeremy) and GTK (Me)
 have time to do the mapping? If not can we get another volunteer?
 * What events do we want to define? The ones I use a lot are::
 key_press_event
 key_release_event
 motion_notify_event
 button_press_event
 button_release_event
 If these basic events are implemented at the backend level, we
 could catch them and trigger more complicated events like
 'drag_rectangle' in matplotlib.events. Ie, catch press, mouse
 move, and release, and then trigger drag_rectangle with start and
 end locations in event.start and event.end.
 * There is the issue of coords. x, y can be given in data, axes
 (0-1) or data coords. Probably best to give all three
 event.xdata, event.ydata, 
 event.xaxis, event.yaxis,
 event.xdisplay, event.ydisplay
 See examples/coords_demo_gtk.py for an example of connecting to a
 GTK event and mapping the display coords to data space. Jeremy
 and Todd, this would be a good example to implement as stage 1 for
 the event handling.
Of course, there is no end to how far you could go with this, defining
a basic cross GUI widget API for dialog boxes, entry boxes and so on.
A meta-wx, if you will. But that is an issue for another day.
JDH 

Showing 3 results of 3

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /