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
(3) |
2
(9) |
3
(4) |
4
(1) |
5
|
6
(5) |
7
(8) |
8
(11) |
9
(15) |
10
(5) |
11
(2) |
12
|
13
(7) |
14
(4) |
15
(13) |
16
(6) |
17
(1) |
18
|
19
(16) |
20
(10) |
21
(13) |
22
(13) |
23
(3) |
24
(1) |
25
(3) |
26
(4) |
27
(1) |
28
(6) |
29
(6) |
30
(1) |
31
|
As a new user of matplotlib, I'm surprised I haven't seen this mentioned, offhand, in the mailing list archive. I am not seeing the redraw or close widgets on the plot windows I produce. The platform is Fedora Core 1, although I built on RHEL3 because matplotlib-0.60-2 won't build on FC1 (some problem with tk-devel, apparently). -- Stephen Walton <ste...@cs...> Dept. of Physics & Astronomy, Cal State Northridge
>>>>> "Kenneth" == Kenneth McDonald <ken...@sb...> writes: Kenneth> The easiest way to describe this is to repeat the info Kenneth> that's been posted into the "macpython" mailing Kenneth> list--sorry if you've already seen it. According to one Kenneth> of the people who helped me on the macpython list, the Kenneth> problem I'm having is likely caused by matplotlib using a Kenneth> custom method of finding Tcl/Tk headers, rather than by a Kenneth> Python/OS X interaction problem, which is why I'm Kenneth> bringing the topic over to this list. The file I attached in my last email had an error in it. It would probably work for darwin, but fail for linux. Here is the correct file http://matplotlib.sf.net/setupext.py JDH
>>>>> "MWallis" == MWallis <mw...@sw...> writes: MWallis> This has been my first time using matplotlib and it has MWallis> not been entirely successful . I was asked to develop a MWallis> GUI using Python and omniORB to connect as a client to a MWallis> server and request a data stream which they wanted me to MWallis> display. There is a considerable amount of data that is MWallis> generated and I am not sure that Python was going to be MWallis> able to handle it. I developed the app in Python and was MWallis> able to connect to the server using omniORB and register MWallis> a callback and receive the data. This worked fine. I MWallis> then created the GUI using matplotlib and pygtk. The MWallis> display included 2 spectrograms a pan display and 2 bar MWallis> charts. After data of the appropriate type was received MWallis> they wanted the displays to be updated dynamically. I MWallis> used threading but it still seemed that after awhile the MWallis> GUI would lock up. Are there any examples available that MWallis> embed multiple dynamically updated figures using gtk? I'm MWallis> afraid that if I can't get this fixed they will write MWallis> python and matplotlib off and refuse to use it again. Hi Melissa, I have little experience with threads and try to avoid using them directly - I'll leave that to the pros. I suggest another approach - a useful pygtk trick is to use the idle manager to avoid calls when gtk is busy. In the script below, new axes images are created and drawn only when gtk is idle. It doesn't do you any good to force feed gtk data it can't handle, so only make calls through the idle handler. I simulate a data event generator that calls one of two image axes. On my system, I get about 10 frames per second with the script below using gtkagg (gtkagg will probably be a little faster than gtk, which uses string methods to render image data). As for your clients giving up on us, remind them that image handling in matplotlib has gotten an order of magnitude faster in the last 5 months and that further enhancements for dynamic updating are in the works. One important one will be the ability to render only selective parts of the canvas (eg, just redraw the axes image portion rather than the entire canvas). My guess is that this change alone would roughly double the performance of gtkagg for dynamic images. Other optimizations specifically for updating image data would provide further performance enhancements, since this is a simple agg->agg rendering buffer transfer. Also, although matplotlib-0.60.2 was just released, a bug that affects image data with data extent set (eg specgram data) was recently fixed in CVS. You may want to work with http://nitace.bsd.uchicago.edu:8080/files/share/matplotlib-0.60.3a.tar.gz. It's not a critical update as the bug is only exposed in the following combination: 1) image data with extent set, 2) image.origin = 'lower' and 3) you have changed the axes limits from their defaults. May seem arcane, but nonetheless, Andrew Straw managed to find it within about 6 minutes of my CVS checkin. Let me know if this helps, JDH #!/usr/bin/env python """ An animated image """ import sys, time, os, gc from matplotlib import rcParams from matplotlib.matlab import * import gtk # if hold is on the axes images will accumulate and your performance # will tank! rc('axes', hold=False) class HandleDraws: drawing_idle_id = 0 shape = 100,100 # image size cnt = 0 def __init__(self): self.fig = figure(1) self.a1 = subplot(211) self.a2 = subplot(212) def idle_update(self, *args): 'only call a draw if gtk is idle' if self.cnt==0: self.tstart = time.time() draw() self.drawing_idle_id = 0 self.cnt += 1 if self.cnt>=50: print 'FPS', self.cnt/(time.time() - self.tstart) sys.exit() return False def update1(self, data): if self.drawing_idle_id == 0: self.a1.imshow(data, interpolation='nearest') self.drawing_idle_id = gtk.idle_add(self.idle_update) else: print 'dropping frame for axes 1' def update2(self, data): if self.drawing_idle_id == 0: self.a2.imshow(data, interpolation='nearest') self.drawing_idle_id = gtk.idle_add(self.idle_update) else: print 'dropping frame for axes 2' handler = HandleDraws() def generate_events(*args): data = rand(100,100) # randomly pick which axes to update if rand()>0.5: handler.update1(data) else: handler.update2(data) return True cnt = 0 gtk.timeout_add(10, generate_events) show()
>>>>> "Jeff" == Jeff Whitaker <js...@fa...> writes: Jeff> I'm pretty sure it's not the data. I only see this when I Jeff> use imshow, not pcolor. OK, I'll get this sorted out. Thanks for letting me know. Jeff> Sure. I've reworked the example a bit - now I read in a Jeff> regular lat/lon grid from a pickle and use numarray's spline Jeff> interpolation function to interpolate to the native Jeff> projection grid. Here's the modified example: It looks very nice. Perry Greenfield has provided a nice framework with matplotlib.colors.LinearSegmentedColormap to define new colormaps. You can create new colormaps fairly easy by following the example of jet in matplotlib.cm. It would be very nice if you could add some of the common cartographic colormaps. If you do get the time to do so when working on your mapping code, here are the steps * define your rgb linear segments in matplotlib.cm, following the lead of the _jet_data dictionary in that module * add an entry to the datad dictionary in that module which maps rc string names for your color map to the dictionary you just defined. * instantiate a single instance of your colormap in cm, following the example jet = colors.LinearSegmentedColormap('jet', _jet_data, LUTSIZE) * add a matplotlib.matlab function which has the same name as your colormap, following the example of matplotlib.matlab.jet. Now anyone can use the colormap interactively from the shell, by setting it as the default image.cmap in rc, etc. JDH
>>>>> "Charles" == Charles R Twardy <cha...@in...> writes: Charles> I can't see the matplotlib package with "apt-get". I Charles> have these lines in my sources.list and I've rerun Charles> "apt-get update". Charles> # Matplotlib deb http://mentors.debian.net/debian Charles> unstable main contrib non-free deb-src Charles> http://mentors.debian.net/debian unstable main contrib Charles> non-free Charles> I can see matplotlib-doc, but not matplotlib. Any ideas? Hi Charles, I think messages about the debian distribution should be sent to the devel list; I'm not sure Vittorio reads the users list. I've CCd him on this email. Cheers, JDH
>>>>> "Brett" == Brett Calcott <br...@co...> writes: Brett> win32, xp, python 2.3.3 matplotlib: __version__ = '0.60.2' Brett> __revision__ = '$Revision: 1.64 $' Brett> Any attempt to save ps: savefig('fig.ps') Brett> gives this: Brett> Fatal Python error: PyEval_RestoreThread: NULL tstate Brett> This application has requested the Runtime to terminate it Brett> in an unusual way. Please contact the application's Brett> support team for more information. Brett> The postscript file *is* actually written. Brett> What more info do you need to track this? Bizarre - on virtually the same platform (windows xp, 0.60.2, enthought python 2.3.3) I can save PS either directly > python simple_plot.py -dPS or from the GUI by clicking save and using a ps or eps extension with no troubles, warnings or errors. As for more information: how are you running matplotlib when you try to save ps (ie from a GUI window, from an IDE, by setting ps as the backend in rc, interactively from the python shell)? Do you still get the same error when calling a script from the command shell with -dPS as above? Which matplotlib windows installer are you using: matplotlib-0.60.2-numarray0.9-win32-py2.3.exe matplotlib-0.60.2-numarray1.0-win32-py2.3.exe matplotlib-0.60.2.win32-py2.3.exe? What is your numerix setting in c:\python23\share\matplotlib\.matplotlibrc, or wherever you keep your rc file? Do you get this problem when you try to save png with the agg backend? After gathering the info above, I suggest removing c:\python23\lib\site-packages\matplotlib and c:\python23\share\matplotlib and doing a clean install. From your message (PyEval_RestoreThread: NULL), I'm guessing you are running from an IDE (idle?) with the tkagg backend and are getting a mainloop conflict. Have you read http://matplotlib.sourceforge.net/faq.html#FREEZE? Good luck! JDH
I can't see the matplotlib package with "apt-get". I have these lines in my sources.list and I've rerun "apt-get update". # Matplotlib deb http://mentors.debian.net/debian unstable main contrib non-free deb-src http://mentors.debian.net/debian unstable main contrib non-free I can see matplotlib-doc, but not matplotlib. Any ideas? -Charles -- Charles R. Twardy www.csse.monash.edu.au/~ctwardy Monash University sarbayes.org Computer Sci. & Software Eng. +61(3) 9905 5823 (w) 5146 (fax) Allow the president to invade a neighboring nation, whenever he shall deem it necessary to repel an invasion, ... and you allow him to make war at pleasure. --Abraham Lincoln
Jeff Whitaker writes: > When I get some time I'd like to wrap some of this in some > easy-to-use functions, maybe with an interface similar to the > matlab mapping toolbox. That would be very nice -- I think the matlab mapping/colorscaling examples at http://www.mathworks.com/company/newsletters/digest/nov02/earth_pt4.html http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectType=file&objectId=2611 represent the vast majority of things that people would want to do with map/image overlays. Regards, Phil
On 2004年7月14日, John Hunter wrote: >>>>>> "Jeff" == Jeff Whitaker <js...@fa...> writes: > > I noticed that the lat/lon lines don't precisely agree with the > colormap, eg around the Aleutian Islands the light blue is not > perfectly registered with the black lines. Should I be concerned that > this reflects a problem in matplotlib, or is this kind of error > standard in the data you've provided? I think this is related to the > pixel border that appears around some images, and is magnified when > interpolation is used because the top and right borders are not > defined when interpolating. I'll continue to look into this. I'm pretty sure it's not the data. I only see this when I use imshow, not pcolor. > > Would it be OK if I used this example on the web page? I like it! > Sure. I've reworked the example a bit - now I read in a regular lat/lon grid from a pickle and use numarray's spline interpolation function to interpolate to the native projection grid. Here's the modified example: from matplotlib.matlab import * from matplotlib.collections import LineCollection from proj import Proj import numarray, cPickle from numarray import nd_image # example to demonstrate plotting data on a map projection. # requires numarray, proj module (which in turn requires # proj command from http://proj.maptools.org) # set up map projection parameters (lambert conformal conic, # standard parallels at 50 deg N, center longitued 107 deg W. params = {} params['proj'] = 'lcc' params['R'] = 63712000 params['lat_1'] = 50 params['lat_2'] = 50 params['lon_0'] = -107 proj = Proj(params) llcornerx, llcornery = proj(-145.5,1.) xmax=11297266.68; ymax=8959901.16 params['x_0'] = -llcornerx # add cartesian offset so lower left corner = (0,0) params['y_0'] = -llcornery # create a Proj instance for desired map. proj = Proj(params) # define grid (nx x ny regularly spaced native projection grid) nx = 349; ny = 277 dx = xmax/(nx-1); dy = ymax/(ny-1) xgrid = dx*numarray.indices((ny,nx))[1,:,:] ygrid = dy*numarray.indices((ny,nx))[0,:,:] # compute lons, lats of regular projection grid. lonout, latout = proj(xgrid, ygrid, inverse=True) # make sure lons are between 0 and 360 lonout = numarray.where(lonout < 0, lonout+360, lonout) latout = latout+90 # read in topo data from pickle (on a regular lat/lon grid) topodict = cPickle.load(open('etopo20.pickle','rb')) lons = topodict['lons'] lats = topodict['lats'] topoin = topodict['topo'] # find coordinates of native projection grid. xcoords = (len(lons)-1)*(lonout-lons[0])/(lons[-1]-lons[0]) ycoords = (len(lats)-1)*(latout-lats[0])/(lats[-1]-lats[0]) coords = [ycoords,xcoords] # interpolate to projection grid using numarray.nd_image spline filter. topodat = numarray.nd_image.map_coordinates(topoin,coords,mode='nearest') ax = subplot(111) # use imshow rather than pcolor for speed # set the default params for imshow rc('image', origin='lower', cmap='jet') im = ax.imshow(topodat, interpolation='nearest',extent=(0, xmax, 0, ymax)) #pcolor(xgrid, ygrid, topodat, shading='flat') # read in coastline data from pickle. wcl = cPickle.load(open('wcl.pickle','rb')) ind = wcl['segment_index']; lons = wcl['lons']; lats = wcl['lats'] # transform coastline segements to map projection coordinates. xs, ys = proj(lons,lats) # a sequence of xy tuples segments = [zip(xs[i0:i1], ys[i0:i1]) for i0, i1 in zip(ind[:-1], ind[1:])] # line collection collection = LineCollection( segments, colors = ( (0,0,0,1), ), # black linewidths = (1.5,), antialiaseds = (1,),) # turn off aa for speed ax.add_collection(collection) corners = (min(xs), min(ys)), (max(xs), max(ys)) ax.update_datalim( corners ) axis([0, xmax, 0, ymax]) ax.set_xticks([]) # no ticks ax.set_yticks([]) title('20-minute Topography: Lambert Conformal Conic Projection') show() I've tarred up all the pickles and scripts to run this at http://whitaker.homeunix.org/~jeff/plotmap.tar.gz. The resulting image is at http://whitaker.homeunix.org/~jeff/plotmap.png. When I get some time I'd like to wrap some of this in some easy-to-use functions, maybe with an interface similar to the matlab mapping toolbox. Thanks for all your help! -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 NOAA/OAR/CDC R/CDC1 FAX : (303)497-6449 325 Broadway Web : http://www.cdc.noaa.gov/~jsw Boulder, CO, USA 80305-3328 Office: Skaggs Research Cntr 1D-124
win32, xp, python 2.3.3 matplotlib: __version__ = '0.60.2' __revision__ = '$Revision: 1.64 $' Any attempt to save ps: savefig('fig.ps') gives this: Fatal Python error: PyEval_RestoreThread: NULL tstate This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. The postscript file *is* actually written. What more info do you need to track this? -- Brett Calcott Philosophy Program, RSSS, ANU Canberra, ACT 0200, AUSTRALIA
The easiest way to describe this is to repeat the info that's been posted into the "macpython" mailing list--sorry if you've already seen it. According to one of the people who helped me on the macpython list, the problem I'm having is likely caused by matplotlib using a custom method of finding Tcl/Tk headers, rather than by a Python/OS X interaction problem, which is why I'm bringing the topic over to this list. Many thanks for any help you can offer! Here's what has gone before, consisting of questions from me and answers from other people. I've done some editing to shorten things up. >>>> I'm attempting to compile matplotlib, and get messages saying that >>>> it can't find the headers for Tcl/Tk. They exist, they just happen >>>> to >>>> be in the Frameworks directories for Tcl and for Tk. I know I can >>>> get this to work by hacking (setting up path variables, putting >>>> symbolic >>>> links in directories, or some such), but aside from the fact that >>>> that's >>>> a pain and ugly, it doesn't solve the more general problem; if >>>> header >>>> files are supposed to be in Frameworks directories (for example, I >>>> found my Tk header files in >>>> /Library/Frameworks/Tk.framework/Headers), >>>> what is the best way to set up OS X so that they will be available >>>> to link >>>> against? >>> Short answer: Whatever you're trying to build is (incorrectly) not >>> using tclConfig.sh (they should allow the user to choose which one, >>> but should default to /usr/lib/tclConfig.sh I guess). This is >>> equivalent to not using distutils. It probably won't be a problem >>> in the Mac OS X future however, because... >>> >>> Apple's latest strategy for unixy stuff (at least for Python) seems >>> to be a hybrid approach that should please almost anyone: >>> (1) the actual dylib lives in /usr/lib and has a mach-o id pointing >>> to /usr/lib >>> (2) the framework has symlinks to /usr/lib for its dylib >>> (3) the headers live in the framework >>> (4) /usr/include has appropriate symlinks into the framework >>> >>> [I can say this without breaking NDA because Apple has publicly >>> released their sources for Python in Darwin 8.0.0b1] >> >> After reading Bob's message, I looked into /usr/lib and found that >> while >> it contained a tclConfig.sh, there was no tkConfig.sh. A search of the >> file system revealed a tkConfig.sh in >> /Library/Framewords/Tk.framework, so >> I copied it there. >> >> While I suspect this was a Good Thing To Do, it still hasn't solved >> the problem of matplotlib's setup.py not being able to find the tcl/tk >> headers. Here's my attempt at building and the resultant message: >> >> ken% python setup.py build >> GTKAgg requires pygtk >> cannot find tcl/tk headers. giving up. >> >> The message about "GTKAgg" is expected and should be ignored. >> Attempting >> a "python setup.py -v build" gave exactly the same error messages. >> Unfortunately >> the error message about the header, while to the point, isn't >> terribly helpful :-) >> >> matplotlib is packaged using distutil, and presumably distutil isn't >> getting >> the info it needs to figure out where the headers are. I've started >> reading >> about distutil, but am a novice at it (and it's a fairly involved >> package, as >> well), so if others could offer suggestions as to how to track >> down/fix this >> problem, it would be a real help. >> > distutils is only good at finding Python's compiler/linker settings > and Python's headers. > matplotlib has custom code to find Tcl/Tk in its setup.py, and that > custom code is not doing the right thing.