You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(115) |
Aug
(120) |
Sep
(137) |
Oct
(170) |
Nov
(461) |
Dec
(263) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(120) |
Feb
(74) |
Mar
(35) |
Apr
(74) |
May
(245) |
Jun
(356) |
Jul
(240) |
Aug
(115) |
Sep
(78) |
Oct
(225) |
Nov
(98) |
Dec
(271) |
2009 |
Jan
(132) |
Feb
(84) |
Mar
(74) |
Apr
(56) |
May
(90) |
Jun
(79) |
Jul
(83) |
Aug
(296) |
Sep
(214) |
Oct
(76) |
Nov
(82) |
Dec
(66) |
2010 |
Jan
(46) |
Feb
(58) |
Mar
(51) |
Apr
(77) |
May
(58) |
Jun
(126) |
Jul
(128) |
Aug
(64) |
Sep
(50) |
Oct
(44) |
Nov
(48) |
Dec
(54) |
2011 |
Jan
(68) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(4) |
2
|
3
(8) |
4
(16) |
5
(40) |
6
(16) |
7
(9) |
8
(15) |
9
(6) |
10
(4) |
11
(28) |
12
(6) |
13
(2) |
14
(7) |
15
(8) |
16
|
17
|
18
(9) |
19
(2) |
20
(7) |
21
(3) |
22
(6) |
23
(25) |
24
(16) |
25
(8) |
26
(7) |
27
(3) |
28
(1) |
29
(4) |
30
(21) |
31
(15) |
|
|
|
|
|
Revision: 7513 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7513&view=rev Author: jdh2358 Date: 2009年08月20日 23:16:11 +0000 (2009年8月20日) Log Message: ----------- make autodateformatter customizable Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/dates.py Modified: trunk/matplotlib/lib/matplotlib/dates.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 23:15:07 UTC (rev 7512) +++ trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 23:16:11 UTC (rev 7513) @@ -432,12 +432,9 @@ def __call__(self, x, pos=0): scale = float( self._locator._get_unit() ) - keys = self.scaled.keys() - keys.sort() - fmt = self.defaultfmt - for k in keys: + for k in sorted(self.scaled): if k>=scale: fmt = self.scaled[k] break This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7512 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7512&view=rev Author: jdh2358 Date: 2009年08月20日 23:15:07 +0000 (2009年8月20日) Log Message: ----------- make autodateformatter customizable Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/dates.py Modified: trunk/matplotlib/lib/matplotlib/dates.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 23:11:44 UTC (rev 7511) +++ trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 23:15:07 UTC (rev 7512) @@ -413,12 +413,15 @@ # Or more simply, perhaps just a format string for each # possibility... - def __init__(self, locator, tz=None): + def __init__(self, locator, tz=None, defaultfmt='%Y-%m-%d'): """ + Autofmt the date labels. The default format is the one to use + if none of the times in scaled match """ self._locator = locator self._tz = tz - self._formatter = DateFormatter("%b %d %Y %H:%M:%D", tz) + self.defaultfmt = defaultfmt + self._formatter = DateFormatter(self.defaultfmt, tz) self.scaled = { 365.0 : '%Y', 30. : '%b %Y', @@ -432,11 +435,14 @@ keys = self.scaled.keys() keys.sort() + fmt = self.defaultfmt + for k in keys: if k>=scale: - self._formatter = DateFormatter(self.scaled[k]) + fmt = self.scaled[k] break + self._formatter = DateFormatter(fmt) return self._formatter(x, pos) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7511 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7511&view=rev Author: jdh2358 Date: 2009年08月20日 23:11:44 +0000 (2009年8月20日) Log Message: ----------- make autodateformatter customizable Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/examples/pylab_examples/demo_ribbon_box.py trunk/matplotlib/lib/matplotlib/dates.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2009年08月20日 16:19:22 UTC (rev 7510) +++ trunk/matplotlib/CHANGELOG 2009年08月20日 23:11:44 UTC (rev 7511) @@ -1,3 +1,6 @@ +2009年08月20日 Added scaled dict to AutoDateFormatter for customized + scales - JDH + 2009年08月15日 Pyplot interface: the current image is now tracked at the figure and axes level, addressing tracker item 1656374. - EF Modified: trunk/matplotlib/examples/pylab_examples/demo_ribbon_box.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/demo_ribbon_box.py 2009年08月20日 16:19:22 UTC (rev 7510) +++ trunk/matplotlib/examples/pylab_examples/demo_ribbon_box.py 2009年08月20日 23:11:44 UTC (rev 7511) @@ -136,5 +136,6 @@ ax.set_xlim(years[0]-0.5, years[-1]+0.5) ax.set_ylim(0, 10000) + fig.savefig('ribbon_box.png') plt.show() Modified: trunk/matplotlib/lib/matplotlib/dates.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 16:19:22 UTC (rev 7510) +++ trunk/matplotlib/lib/matplotlib/dates.py 2009年08月20日 23:11:44 UTC (rev 7511) @@ -378,6 +378,28 @@ """ This class attempts to figure out the best format to use. This is most useful when used with the :class:`AutoDateLocator`. + + + The AutoDateFormatter has a scale dictionary that maps the scale + of the tick (the distance in days between one major tick) and a + format string. The default looks like this:: + + self.scaled = { + 365.0 : '%Y', + 30. : '%b %Y', + 1.0 : '%b %d %Y', + 1./24. : '%H:%M:%D', + } + + + The algorithm picks the key in the dictionary that is >= the + current scale and uses that format string. You can customize this + dictionary by doing:: + + + formatter = AutoDateFormatter() + formatter.scaled[1/(24.*60.)] = '%M:%S' # only show min and sec + """ # This can be improved by providing some user-level direction on @@ -392,28 +414,29 @@ # possibility... def __init__(self, locator, tz=None): + """ + """ self._locator = locator - self._formatter = DateFormatter("%b %d %Y %H:%M:%S %Z", tz) self._tz = tz + self._formatter = DateFormatter("%b %d %Y %H:%M:%D", tz) + self.scaled = { + 365.0 : '%Y', + 30. : '%b %Y', + 1.0 : '%b %d %Y', + 1./24. : '%H:%M:%S', + } def __call__(self, x, pos=0): scale = float( self._locator._get_unit() ) - if ( scale == 365.0 ): - self._formatter = DateFormatter("%Y", self._tz) - elif ( scale == 30.0 ): - self._formatter = DateFormatter("%b %Y", self._tz) - elif ( (scale == 1.0) or (scale == 7.0) ): - self._formatter = DateFormatter("%b %d %Y", self._tz) - elif ( scale == (1.0/24.0) ): - self._formatter = DateFormatter("%H:%M:%S %Z", self._tz) - elif ( scale == (1.0/(24*60)) ): - self._formatter = DateFormatter("%H:%M:%S %Z", self._tz) - elif ( scale == (1.0/(24*3600)) ): - self._formatter = DateFormatter("%H:%M:%S %Z", self._tz) - else: - self._formatter = DateFormatter("%b %d %Y %H:%M:%S %Z", self._tz) + keys = self.scaled.keys() + keys.sort() + for k in keys: + if k>=scale: + self._formatter = DateFormatter(self.scaled[k]) + break + return self._formatter(x, pos) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7510 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7510&view=rev Author: jouni Date: 2009年08月20日 16:19:22 +0000 (2009年8月20日) Log Message: ----------- Use curl instead of wget in release/osx/Makefile; curl comes preinstalled on OS X Modified Paths: -------------- trunk/matplotlib/release/osx/Makefile Modified: trunk/matplotlib/release/osx/Makefile =================================================================== --- trunk/matplotlib/release/osx/Makefile 2009年08月20日 11:44:59 UTC (rev 7509) +++ trunk/matplotlib/release/osx/Makefile 2009年08月20日 16:19:22 UTC (rev 7510) @@ -29,12 +29,12 @@ matplotlib-${MPLVERSION} *~ fetch: - wget http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\ - wget http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\ - wget http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\ - wget http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\ + curl -LO http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\ + curl -LO http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\ + curl -LO http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\ + curl -LO http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\ tar xvfz bdist_mpkg-${BDISTMPKGVERSION}.tar.gz &&\ - echo "You need to to install bdist_mpkg-${BDISTMPKGVERSION} now" + echo "You need to install bdist_mpkg-${BDISTMPKGVERSION} now" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7509 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7509&view=rev Author: jswhit Date: 2009年08月20日 11:44:59 +0000 (2009年8月20日) Log Message: ----------- fix typo Modified Paths: -------------- trunk/toolkits/basemap/doc/users/graticule.rst Modified: trunk/toolkits/basemap/doc/users/graticule.rst =================================================================== --- trunk/toolkits/basemap/doc/users/graticule.rst 2009年08月20日 06:55:52 UTC (rev 7508) +++ trunk/toolkits/basemap/doc/users/graticule.rst 2009年08月20日 11:44:59 UTC (rev 7509) @@ -7,7 +7,7 @@ latitude and longitude lines. Basemap does this with the :func:`~mpl_toolkits.basemap.Basemap.drawparallels` and :func:`~mpl_toolkits.basemap.Basemap.drawmeridians` instance methods. -The longitude and latitude lines can be labelled where they +The longitude and latitude lines can be labelled where they intersect the map projection boundary. There are four exceptions: meridians and parallels cannot be labelled on maps with ``proj`` set to ``ortho`` (orthographic) or This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7508 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7508&view=rev Author: ryanmay Date: 2009年08月20日 06:55:52 +0000 (2009年8月20日) Log Message: ----------- Replace use of axesFrame (which disappeared with spines patch) with axesPatch. Modified Paths: -------------- trunk/matplotlib/examples/event_handling/viewlims.py Modified: trunk/matplotlib/examples/event_handling/viewlims.py =================================================================== --- trunk/matplotlib/examples/event_handling/viewlims.py 2009年08月20日 06:44:26 UTC (rev 7507) +++ trunk/matplotlib/examples/event_handling/viewlims.py 2009年08月20日 06:55:52 UTC (rev 7508) @@ -40,7 +40,7 @@ ax.set_autoscale_on(False) # Otherwise, infinite loop #Get the number of points from the number of pixels in the window - dims = ax.axesFrame.get_window_extent().bounds + dims = ax.axesPatch.get_window_extent().bounds self.width = int(dims[2] + 0.5) self.height = int(dims[2] + 0.5) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 7507 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7507&view=rev Author: ryanmay Date: 2009年08月20日 06:44:26 +0000 (2009年8月20日) Log Message: ----------- Fix problem with call to draw in pong demo. Also make draw use 10 ms timers instead of drawing on idle so that it doesn't peg the CPU. Modified Paths: -------------- trunk/matplotlib/examples/event_handling/pipong.py trunk/matplotlib/examples/event_handling/pong_gtk.py trunk/matplotlib/examples/event_handling/pong_qt.py Modified: trunk/matplotlib/examples/event_handling/pipong.py =================================================================== --- trunk/matplotlib/examples/event_handling/pipong.py 2009年08月19日 07:56:33 UTC (rev 7506) +++ trunk/matplotlib/examples/event_handling/pipong.py 2009年08月20日 06:44:26 UTC (rev 7507) @@ -12,17 +12,17 @@ 'e' up 'i' 'd' down 'k' -press 't' -- close these instructions +press 't' -- close these instructions (animation will be much faster) -press 'a' -- add a puck -press 'A' -- remove a puck -press '1' -- slow down all pucks -press '2' -- speed up all pucks -press '3' -- slow down distractors -press '4' -- speed up distractors +press 'a' -- add a puck +press 'A' -- remove a puck +press '1' -- slow down all pucks +press '2' -- speed up all pucks +press '3' -- slow down distractors +press '4' -- speed up distractors press ' ' -- reset the first puck -press 'n' -- toggle distractors on/off -press 'g' -- toggle the game on/off +press 'n' -- toggle distractors on/off +press 'g' -- toggle the game on/off """ @@ -56,7 +56,7 @@ def _reset(self,pad): self.x = pad.x + pad.xoffset if pad.y < 0: - self.y = pad.y + pad.yoffset + self.y = pad.y + pad.yoffset else: self.y = pad.y - pad.yoffset self.vx = pad.x - self.x @@ -84,7 +84,7 @@ self._reset(pads[1]) return True if self.y < -1+fudge or self.y > 1-fudge: - self.vy *= -1.0 + self.vy *= -1.0 # add some randomness, just to make it interesting self.vy -= (randn()/300.0 + 1/300.0) * np.sign(self.vy) self._speedlimit() @@ -106,7 +106,7 @@ if self.vy < -self.vmax: self.vy = -self.vmax -class Game(object): +class Game(object): def __init__(self, ax): # create the initial line @@ -137,7 +137,7 @@ self.pads = [] self.pads.append( Pad(pA,0,padAy)) self.pads.append( Pad(pB,padBx,padBy,'r')) - self.pucks =[] + self.pucks =[] self.i = self.ax.annotate(instructions,(.5,0.5), name='monospace', verticalalignment='center', @@ -180,8 +180,8 @@ for puck in self.pucks: if puck.update(self.pads): # we only get here if someone scored - self.pads[0].disp.set_label(" "+ str(self.pads[0].score)) - self.pads[1].disp.set_label(" "+ str(self.pads[1].score)) + self.pads[0].disp.set_label(" "+ str(self.pads[0].score)) + self.pads[1].disp.set_label(" "+ str(self.pads[1].score)) self.ax.legend(loc='center') self.leg = self.ax.get_legend() #self.leg.draw_frame(False) #don't draw the legend border @@ -189,7 +189,7 @@ plt.setp(self.leg.get_texts(),fontweight='bold',fontsize='xx-large') self.leg.get_frame().set_facecolor('0.2') self.background = None - self.ax.draw() + self.ax.figure.canvas.draw() return True puck.disp.set_offsets([puck.x,puck.y]) self.ax.draw_artist(puck.disp) @@ -229,7 +229,7 @@ self.pads[1].y -= .1 if self.pads[1].y < -1: self.pads[1].y = -1 - + if event.key == 'a': self.pucks.append(Puck(self.puckdisp,self.pads[randint(2)],self.ax.bbox)) if event.key == 'A' and len(self.pucks): @@ -242,7 +242,7 @@ if event.key == '2': for p in self.pucks: p._faster() - + if event.key == 'n': self.distract = not self.distract @@ -254,4 +254,4 @@ self.inst = not self.inst self.i.set_visible(self.i.get_visible()) if event.key == 'q': - plt.close() + plt.close() Modified: trunk/matplotlib/examples/event_handling/pong_gtk.py =================================================================== --- trunk/matplotlib/examples/event_handling/pong_gtk.py 2009年08月19日 07:56:33 UTC (rev 7506) +++ trunk/matplotlib/examples/event_handling/pong_gtk.py 2009年08月20日 06:44:26 UTC (rev 7507) @@ -12,7 +12,7 @@ import numpy as np import matplotlib.pyplot as plt -import pipong +import pipong from numpy.random import randn, randint @@ -22,7 +22,8 @@ def start_anim(event): - gobject.idle_add(animation.draw,animation) +# gobject.idle_add(animation.draw,animation) + gobject.timeout_add(10,animation.draw,animation) canvas.mpl_disconnect(start_anim.cid) animation = pipong.Game(ax) Modified: trunk/matplotlib/examples/event_handling/pong_qt.py =================================================================== --- trunk/matplotlib/examples/event_handling/pong_qt.py 2009年08月19日 07:56:33 UTC (rev 7506) +++ trunk/matplotlib/examples/event_handling/pong_qt.py 2009年08月20日 06:44:26 UTC (rev 7507) @@ -18,7 +18,7 @@ import matplotlib.pyplot as plt import numpy as np import time -import pipong +import pipong from numpy.random import randn, randint class BlitQT(QObject): @@ -36,7 +36,7 @@ app = BlitQT() # for profiling app.tstart = time.time() -app.startTimer(0) +app.startTimer(10) plt.show() print 'FPS:' , app.animation.cnt/(time.time()-app.tstart) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.