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
(16) |
2
(8) |
3
(4) |
4
|
5
|
6
(3) |
7
(11) |
8
(16) |
9
(1) |
10
(2) |
11
(2) |
12
(6) |
13
(2) |
14
(4) |
15
(5) |
16
(10) |
17
(5) |
18
|
19
|
20
|
21
(3) |
22
|
23
(12) |
24
(7) |
25
(1) |
26
|
27
(3) |
28
(4) |
29
(5) |
30
(2) |
|
|
animation objects have a private _stop() method. That might have to be a workaround. On Sun, Apr 12, 2015 at 9:24 AM, Thomas Caswell <tca...@gm...> wrote: > You can > > > ``` > > #import matplotlib > > #matplotlib.use('nbagg') > > #%matplotlib nbagg > > import numpy as np > > import matplotlib.pyplot as plt > > import matplotlib.animation as animate > > > class Testing(object): > > def __init__(self, ): > > self.fig = plt.figure() > > array = np.random.rand(4,5) > > array = np.zeros((4,5)) > > self.pc = plt.pcolor(array, edgecolor='k', linewidth=1., > animated=True) > > self.pc.set_clim([0, 1]) > > self.points = [plt.scatter(np.random.rand(), np.random.rand(), > animated=True)] > > > def update(self, iter_num): > > array = np.random.rand(4*5) > > self.pc.set_array(array) > > for point in self.points: > > point.set_offsets([np.random.rand(), np.random.rand()]) > > > return (self.pc, ) + tuple(self.points) > > > > test = Testing() > > ani = animate.FuncAnimation(test.fig, test.update, interval=10, > blit=False, frames=50) > > plt.show() > > ``` > > note the addition of the `set_clim` line in the `__init__` method. > > > You can also update the scatter artist in-place. The other changes will > make it a bit for performant if you use bliting (which does not work with > nbagg currently) > > Sorry I missed that part of the question first time through. > > Tom > > On Sun, Apr 12, 2015, 08:31 Ryan Nelson <rne...@gm...> wrote: > >> Tom, >> >> Thanks for the links. It does seem like fragments of my problem are >> addressed in each of those comments, so I guess I'll have to wait for a bit >> until those things get resolved. For now, I can just tell my students to >> restart the IPython kernel each time they run the animation, which isn't >> that hard. It's too bad that there isn't a 'stop' method now, but it's good >> to hear that it isn't a completely terrible idea. >> >> I do still need help with Question #3 from my original email, though, >> because it affects both the Qt and nbagg backends, and it is a bit of a >> show stopper. I can't quite understand why initializing a pcolor(mesh) with >> random numbers makes it possible to update the array in an animation, but >> if you use all zeros or ones, it seems to be immutable. >> >> Ryan >> >> On Sat, Apr 11, 2015 at 8:35 PM, Thomas Caswell <tca...@gm...> >> wrote: >> >>> Ryan, >>> >>> I have not looked at your exact issue yet, but there seems to be some >>> underlying issues with animation and nbagg which we have not tracked down >>> yet. See: >>> >>> https://github.com/matplotlib/matplotlib/pull/4290 >>> https://github.com/matplotlib/matplotlib/issues/4287 >>> https://github.com/matplotlib/matplotlib/issues/4288 >>> >>> Running until a given condition is an interesting idea, but I think that >>> means the animation objects needs to have a public 'stop' method first! >>> >>> Tom >>> >>> On Fri, Apr 10, 2015 at 3:00 PM Ryan Nelson <rne...@gm...> >>> wrote: >>> >>>> Good afternoon, all! >>>> >>>> I'm really digging the nbagg backend, and I'm trying to use it to make >>>> an animation. As the subject suggests, though, I'm having some issues with >>>> these features. I'm using Python 3.4, Matplotlib 1.4.3, and IPython 3.1. >>>> Below is a small code sample that emulates my system. The pcolor call can >>>> be substituted for pcolormesh, and I see the same behavior. (Sorry this is >>>> a bit long. I tried to break it up as best as possible.) >>>> >>>> ############# >>>> #import matplotlib >>>> #matplotlib.use('nbagg') >>>> #%matplotlib nbagg >>>> import numpy as np >>>> import matplotlib.pyplot as plt >>>> import matplotlib.animation as animate >>>> >>>> class Testing(object): >>>> def __init__(self, ): >>>> self.fig = plt.figure() >>>> array = np.random.rand(4,5) >>>> #array = np.zeros((4,5)) >>>> self.pc = plt.pcolor(array, edgecolor='k', linewidth=1.) >>>> self.points = [plt.scatter(np.random.rand(), np.random.rand())] >>>> >>>> def update(self, iter_num): >>>> array = np.random.rand(4*5) >>>> self.pc.set_array(array) >>>> for point in self.points: >>>> point.remove() >>>> self.points = [plt.scatter(np.random.rand(), np.random.rand())] >>>> >>>> test = Testing() >>>> animate.FuncAnimation(test.fig, test.update, interval=1000, blit=False) >>>> plt.show() >>>> ############### >>>> >>>> 1. As is, this code runs fine with a Qt backend. It also runs fine as a >>>> first call in a notebook if the `show` call is commented out and the >>>> `%matplotlib` line is uncommented. However, if the `show` call is left in >>>> and the `matplotlib.use` call is uncommented, then the pcolor array >>>> changes, but the scatterpoint only shows on the first update and then >>>> disappears forever. What is the difference between these two invocations? >>>> >>>> 2. With the `%matplotlib` magic uncommented and `show` removed, the >>>> first invocation of this as a cell works fine. Closing the figure (with the >>>> red X) and running the cell again shows two scatter plot points. Running it >>>> a third time shows three scatter plot points. If you call `plt.clf` in the >>>> next cell, I get a series of errors as follows: >>>> _____ >>>> ERROR:tornado.application:Exception in callback <bound method >>>> TimerTornado._on_timer of <matplotlib.backends.backend_nbagg.TimerTornado >>>> object at 0x7f894cb10f98>> >>>> Traceback (most recent call last): >>>> File "/usr/lib64/python3.4/site-packages/tornado/ioloop.py", line >>>> 976, in _run >>>> return self.callback() >>>> File >>>> "/usr/lib64/python3.4/site-packages/matplotlib/backend_bases.py", line >>>> 1290, in _on_timer >>>> ret = func(*args, **kwargs) >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/animation.py", >>>> line 925, in _step >>>> still_going = Animation._step(self, *args) >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/animation.py", >>>> line 784, in _step >>>> self._draw_next_frame(framedata, self._blit) >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/animation.py", >>>> line 803, in _draw_next_frame >>>> self._draw_frame(framedata) >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/animation.py", >>>> line 1106, in _draw_frame >>>> self._drawn_artists = self._func(framedata, *self._args) >>>> File "<ipython-input-2-f9290d8f6154>", line 22, in update >>>> point.remove() >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/artist.py", line >>>> 139, in remove >>>> self._remove_method(self) >>>> File "/usr/lib64/python3.4/site-packages/matplotlib/axes/_base.py", >>>> line 1479, in <lambda> >>>> collection._remove_method = lambda h: self.collections.remove(h) >>>> ValueError: list.remove(x): x not in list >>>> ______ >>>> Why does this happen? Is there a way to close the animation cleanly? >>>> >>>> 3. If I uncomment the `np.zeros` call, the pcolor array never updates >>>> irrespective of the backend. I see the same behavior with `np.ones` as >>>> well, even if the dtype is set to `float`. Is there are a way to start with >>>> a all-zero pcolor that allow dynamic updates? >>>> >>>> 4. I'd like to be able to have the animation run until a certain >>>> condition is met. Is there a way to code a clean break for the animation? >>>> >>>> >>>> As always, any help is most appreciated! >>>> >>>> Ryan >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------ >>>> ------------------ >>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>> Develop your own process in accordance with the BPMN 2 standard >>>> Learn Process modeling best practices with Bonita BPM through live >>>> exercises >>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >>>> event?utm_ >>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >>>> campaign=VA_SF_______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> >> > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Thanks for the report, I turned it into a github issue: https://github.com/matplotlib/matplotlib/issues/4331