You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
|
2
(13) |
3
(5) |
4
(5) |
5
(21) |
6
(10) |
7
(9) |
8
(4) |
9
(11) |
10
(9) |
11
(11) |
12
(25) |
13
(5) |
14
(2) |
15
(5) |
16
(8) |
17
(16) |
18
(11) |
19
(15) |
20
(5) |
21
(8) |
22
(4) |
23
(24) |
24
(9) |
25
(14) |
26
(5) |
27
(28) |
28
(2) |
29
(13) |
30
(14) |
31
(11) |
|
|
|
|
From: Benjamin R. <ben...@ou...> - 2012-01-28 20:32:50
|
On Sat, Jan 28, 2012 at 10:31 AM, Jerzy Karczmarczuk < jer...@un...> wrote: > Benjamin Root about my miserable event problem : > > Still not sure why my suggestion would not work: > > > http://matplotlib.sourceforge.net/api/cbook_api.html#matplotlib.cbook.CallbackRegistry > > > I thought I told you. Probably I am doing something utterly false, but my > distilled problem is that* I am generating events from within a callback*. > Here you are a complete skeleton program. > > > from pylab import * > from matplotlib.cbook import * > from matplotlib.widgets import Button > fig=figure() > ax = fig.add_subplot(1,1,1) > xis=axis([0,1,0,1]) > subplots_adjust(left=0.1, bottom=0.1) > clrax = axes([0.67, 0.02, 0.08, 0.04]) > clbut = Button(clrax, 'Clear', color="1.0") > goax = axes([0.88, 0.02, 0.08, 0.04]) > gobut = Button(goax, 'Go', color="#40ffa0") > cbacks = CallbackRegistry() > > def line(*evt): > plot(rand(2),rand(2)) ; draw() > cbacks.process('line_', None) > > linv = cbacks.connect('line_', line) > > def clr(ev=None): del ax.lines[:] > clbut.on_clicked(clr) > def start(evt): cbacks.process('line_', None) > gobut.on_clicked(start) > > subplot(1,1,1) > show() > > The function line() is the main iterative engine, a "loop" without > looping. It should post an event which re-launches it, and still leaving > the master loop active, so I can clear the figure. > > Nope. This is a *recursive call*. > Python bombs after a while, recursive limit exceeded, and only then the > Clear button wakes up. > > Thank you for your effort. > > Jerzy > > Jerzy, So, where is your terminating condition? Of course it will continuously call itself if you have nothing to stop it. Protect that call to "process" with some sort of if-statement and use "evt" to carry some sort of state that can be tested in that if-statement. For example, I modified your example to use "evt" to carry an integer. The call to process() is protected by an if-statement that checks to see if evt is less than 10, and the call to process passes "evt + 1". The initial call to process passes a value of zero. The program then produces 10 random lines just fine when I press "Go". Does that help clear up your problem? Ben Root |
From: Jerzy K. <jer...@un...> - 2012-01-28 16:31:25
|
Benjamin Root about my miserable event problem : > Still not sure why my suggestion would not work: > > http://matplotlib.sourceforge.net/api/cbook_api.html#matplotlib.cbook.CallbackRegistry I thought I told you. Probably I am doing something utterly false, but my distilled problem is that*I am generating events from within a callback*. Here you are a complete skeleton program. from pylab import * from matplotlib.cbook import * from matplotlib.widgets import Button fig=figure() ax = fig.add_subplot(1,1,1) xis=axis([0,1,0,1]) subplots_adjust(left=0.1, bottom=0.1) clrax = axes([0.67, 0.02, 0.08, 0.04]) clbut = Button(clrax, 'Clear', color="1.0") goax = axes([0.88, 0.02, 0.08, 0.04]) gobut = Button(goax, 'Go', color="#40ffa0") cbacks = CallbackRegistry() def line(*evt): plot(rand(2),rand(2)) ; draw() cbacks.process('line_', None) linv = cbacks.connect('line_', line) def clr(ev=None): del ax.lines[:] clbut.on_clicked(clr) def start(evt): cbacks.process('line_', None) gobut.on_clicked(start) subplot(1,1,1) show() The function line() is the main iterative engine, a "loop" without looping. It should post an event which re-launches it, and still leaving the master loop active, so I can clear the figure. Nope. This is a /*recursive call*/. Python bombs after a while, recursive limit exceeded, and only then the Clear button wakes up. Thank you for your effort. Jerzy |