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
(3) |
2
(3) |
3
(26) |
4
(12) |
5
(17) |
6
(20) |
7
|
8
(2) |
9
(2) |
10
(15) |
11
(10) |
12
(21) |
13
(20) |
14
(8) |
15
(6) |
16
(6) |
17
(3) |
18
(2) |
19
(1) |
20
(2) |
21
(4) |
22
|
23
|
24
|
25
(1) |
26
(3) |
27
(1) |
28
|
29
|
30
(2) |
31
|
|
|
|
|
|
Michael Droettboom wrote: > The transforms branch has seen very little outside of the matplotlib > examples, so it's good to find all of these error cases. Fixed in r4569. > > Cheers, > Mike > >> Michael: And one more - contourf will die if you there are no >> contours at the requested levels. The error message looks like this: >> >> Traceback (most recent call last): >> File "plotprecip.py", line 52, in <module> >> cs = m.contourf(x,y,data,clevs,cmap=cm.s3pcpn) >> File "/Users/jsw/lib/python/matplotlib/toolkits/basemap/basemap.py", >> line 2425, in contourf >> CS = ax.contourf(x,y,data,*args,**kwargs) >> File "/Users/jsw/lib/python/matplotlib/axes.py", line 5017, in contourf >> return mcontour.ContourSet(self, *args, **kwargs) >> File "/Users/jsw/lib/python/matplotlib/contour.py", line 460, in >> __init__ >> self.ax.add_collection(col) >> File "/Users/jsw/lib/python/matplotlib/axes.py", line 1140, in >> add_collection >> self.update_datalim(collection.get_datalim(self.transData)) >> File "/Users/jsw/lib/python/matplotlib/collections.py", line 142, in >> get_datalim >> offsets, transOffset.frozen()) >> File "/Users/jsw/lib/python/matplotlib/path.py", line 481, in >> get_path_collection_extents >> raise ValueError("No paths provided") >> >> To trigger this, try running the plotprecip.py basemap example. >> >> -Jeff >> > Michael: The fix for missing contours may have broken pcolor: Traceback (most recent call last): File "test.py", line 553, in <module> p = m.pcolormesh(x,y,topodatin,shading='flat') File "/Users/jsw/lib/python/matplotlib/toolkits/basemap/basemap.py", line 2294, in pcolormesh ret = ax.pcolormesh(x,y,data,**kwargs) File "/Users/jsw/lib/python/matplotlib/axes.py", line 4836, in pcolormesh self.add_collection(collection) File "/Users/jsw/lib/python/matplotlib/axes.py", line 1140, in add_collection if len(collection._paths): TypeError: object of type 'NoneType' has no len() changing if len(collection._paths): to if collection._paths and len(collection._paths) in axes.py seems to fix it. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
That's great! I just assumed I had trampled over all kinds of semi-public APIs... ;) Cheers, Mike Jeff Whitaker wrote: > Michael Droettboom wrote: >> Jeff Whitaker wrote: >>> John Hunter wrote: >>>> On Dec 3, 2007 2:08 PM, Jeff Whitaker <js...@fa...> wrote: >>>> >>>> >>>>> try: >>>>> l,b,w,h = ax.get_position() >>>>> except: >>>>> l,b,w,h = (ax.get_position()).bounds >>>>> >>>> >>>> In general, blanket excepts are bad practice because they can mask >>>> other bugs. You might catch the AttributeError, or do something like: >>>> >>>> pos = ax.get_position() >>>> l, b, w, h = getattr(pos, 'bounds', pos) >>>> >>>> or maybe a version or other check to see if you are on the branch >>>> >>>> JDH >>>> >>> John: You're right, I should do that. This is only in the examples, >>> not in the basemap code itself though. >> >> Just out of curiosity -- were there significant changes to the basemap >> code itself? > > No, none. I did uncover one bug though! > > -Jeff > > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Michael Droettboom wrote: > Jeff Whitaker wrote: >> John Hunter wrote: >>> On Dec 3, 2007 2:08 PM, Jeff Whitaker <js...@fa...> wrote: >>> >>> >>>> try: >>>> l,b,w,h = ax.get_position() >>>> except: >>>> l,b,w,h = (ax.get_position()).bounds >>>> >>> >>> In general, blanket excepts are bad practice because they can mask >>> other bugs. You might catch the AttributeError, or do something like: >>> >>> pos = ax.get_position() >>> l, b, w, h = getattr(pos, 'bounds', pos) >>> >>> or maybe a version or other check to see if you are on the branch >>> >>> JDH >>> >> John: You're right, I should do that. This is only in the examples, >> not in the basemap code itself though. > > Just out of curiosity -- were there significant changes to the basemap > code itself? No, none. I did uncover one bug though! -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Jeff Whitaker wrote: > John Hunter wrote: >> On Dec 3, 2007 2:08 PM, Jeff Whitaker <js...@fa...> wrote: >> >> >>> try: >>> l,b,w,h = ax.get_position() >>> except: >>> l,b,w,h = (ax.get_position()).bounds >>> >> >> In general, blanket excepts are bad practice because they can mask >> other bugs. You might catch the AttributeError, or do something like: >> >> pos = ax.get_position() >> l, b, w, h = getattr(pos, 'bounds', pos) >> >> or maybe a version or other check to see if you are on the branch >> >> JDH >> > John: You're right, I should do that. This is only in the examples, not > in the basemap code itself though. Just out of curiosity -- were there significant changes to the basemap code itself? Glad to hear things are working with basemap. That was a lot faster than I expected. I feel much better about moving the transforms changes to the trunk... Cheers, Mike -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
John Hunter wrote: > On Dec 3, 2007 1:15 PM, Eric Firing <ef...@ha...> wrote: > >> Just a question: how do you handle taxes? Won't you be stuck paying >> income tax on any donations? Not that I know of any way to get around >> it short of incorporating as a nonprofit. > > That is a good question -- does a donation not count as a gift? I > think gifts under 10,000 are tax free. > > JDH It looks like you are right, based on a quick googling; at least individual-to-individual gifts are not reportable as income. It also makes sense; otherwise all the little donation funds that arise to help people under special circumstances would not work. Eric
John Hunter wrote: > On Dec 3, 2007 2:08 PM, Jeff Whitaker <js...@fa...> wrote: > > >> try: >> l,b,w,h = ax.get_position() >> except: >> l,b,w,h = (ax.get_position()).bounds >> > > In general, blanket excepts are bad practice because they can mask > other bugs. You might catch the AttributeError, or do something like: > > pos = ax.get_position() > l, b, w, h = getattr(pos, 'bounds', pos) > > or maybe a version or other check to see if you are on the branch > > JDH > John: You're right, I should do that. This is only in the examples, not in the basemap code itself though. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
On Dec 3, 2007 2:08 PM, Jeff Whitaker <js...@fa...> wrote: > try: > l,b,w,h = ax.get_position() > except: > l,b,w,h = (ax.get_position()).bounds In general, blanket excepts are bad practice because they can mask other bugs. You might catch the AttributeError, or do something like: pos = ax.get_position() l, b, w, h = getattr(pos, 'bounds', pos) or maybe a version or other check to see if you are on the branch JDH
Michael Droettboom wrote: > The transforms branch has seen very little outside of the matplotlib > examples, so it's good to find all of these error cases. Fixed in r4569. > > Cheers, > Mike > >> Michael: And one more - contourf will die if you there are no >> contours at the requested levels. The error message looks like this: >> >> Traceback (most recent call last): >> File "plotprecip.py", line 52, in <module> >> cs = m.contourf(x,y,data,clevs,cmap=cm.s3pcpn) >> File "/Users/jsw/lib/python/matplotlib/toolkits/basemap/basemap.py", >> line 2425, in contourf >> CS = ax.contourf(x,y,data,*args,**kwargs) >> File "/Users/jsw/lib/python/matplotlib/axes.py", line 5017, in contourf >> return mcontour.ContourSet(self, *args, **kwargs) >> File "/Users/jsw/lib/python/matplotlib/contour.py", line 460, in >> __init__ >> self.ax.add_collection(col) >> File "/Users/jsw/lib/python/matplotlib/axes.py", line 1140, in >> add_collection >> self.update_datalim(collection.get_datalim(self.transData)) >> File "/Users/jsw/lib/python/matplotlib/collections.py", line 142, in >> get_datalim >> offsets, transOffset.frozen()) >> File "/Users/jsw/lib/python/matplotlib/path.py", line 481, in >> get_path_collection_extents >> raise ValueError("No paths provided") >> >> To trigger this, try running the plotprecip.py basemap example. >> >> -Jeff >> > Thanks Mike - all of the basemap examples are now working as expected with the transforms branch. The only significant change I had to make was to wrap axes.get_position in a try/except block, i.e. try: l,b,w,h = ax.get_position() except: l,b,w,h = (ax.get_position()).bounds so that they would work both with the trunk and the transforms branch. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
On Dec 3, 2007 1:52 PM, Christopher Barker <Chr...@no...> wrote: > >>short of incorporating as a nonprofit. > > That's sure a lot of work -- can the PSA host this sort of thing? It > would be a whole lot easier to use an existing organization. Well, noone is proposing setting up an organization, just using sf's existing donation infrastructure. I found this on the question of whether the donations are taxable income: http://taxprof.typepad.com/taxprof_blog/2005/02/tax_treatment_o_1.html and some more info here http://www.lclark.edu/~bojack/taxf04xans2.htm It's not an issue I am too concerned about, really. In the unlikely but pleasant event the donations are substantial, I think the costs of the sprint or other uses of the donations for development could be deducted as "expenses for the production of income", eg as in this hypothetical example from the 2nd link: Joe also has a blog and would want to know whether he can deduct the 160ドル he spends on the ISP payment and the (40ドル per month multiplied by 12) 480ドル he spends on his Internet costs. He would also want to know whether he has to report the donations of 150ドル. The issue is whether this is a hobby or a profit-oriented activity. IRC 183(c) defines an activity not engaged in for profit as any activity other than one with respect to which deductions are allowable under IRC 162 (the "ordinary and necessary" business expenses) or under IRC 212 (expenses related to the production of income. There is also a rebuttable presumption in IRC 183(d) that an activity is engaged in for profit if, in three or more of five consecutive years, the activity earns a profit. IRC 212 allows for a deduction of expenses for the production of income. Since 20% of the time Joe spends on the Internet is related to his blogging activity, he will be allowed to deduct 20% of the 480,ドル which is a deduction of 96ドル. The 96ドル for his Internet service the 120ドル he pays his ISP total to costs of 216ドル. Since the 216ドル exceed the donations of 150ドル (which will be includable in gross income since they are online tips and thus includable in gross income, Reg. 1.61-2(a)(1) and the point in Olk v. US that if it isn't given with detached and disinterested generosity but is, instead, for some service, which is what these donations are) then Joe will have a loss of 66ドル.
On Dec 3, 2007 12:12 PM, Michael Droettboom <md...@st...> wrote: > Works on RHEL4, with most applicable things built from source... Python > 2.5, Gtk+: gtk+: 2.10.9, glib: 2.12.9, pygtk: 2.10.4, pygobject: 2.13.1 All OK here too, SVN build of numpy/matplotlib, ubuntu Feisty standard packages of everything else: In [6]: gtk.gtk_version Out[6]: (2, 10, 11) In [7]: gtk.pygtk_version Out[7]: (2, 10, 4) Python 2.5.1 (r251:54863, May 2 2007, 16:56:35) Cheers, f
>>short of incorporating as a nonprofit. That's sure a lot of work -- can the PSA host this sort of thing? It would be a whole lot easier to use an existing organization. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no...
On Dec 3, 2007 1:15 PM, Eric Firing <ef...@ha...> wrote: > Just a question: how do you handle taxes? Won't you be stuck paying > income tax on any donations? Not that I know of any way to get around > it short of incorporating as a nonprofit. That is a good question -- does a donation not count as a gift? I think gifts under 10,000 are tax free. JDH
The transforms branch has seen very little outside of the matplotlib examples, so it's good to find all of these error cases. Fixed in r4569. Cheers, Mike > Michael: And one more - contourf will die if you there are no contours > at the requested levels. The error message looks like this: > > Traceback (most recent call last): > File "plotprecip.py", line 52, in <module> > cs = m.contourf(x,y,data,clevs,cmap=cm.s3pcpn) > File "/Users/jsw/lib/python/matplotlib/toolkits/basemap/basemap.py", > line 2425, in contourf > CS = ax.contourf(x,y,data,*args,**kwargs) > File "/Users/jsw/lib/python/matplotlib/axes.py", line 5017, in contourf > return mcontour.ContourSet(self, *args, **kwargs) > File "/Users/jsw/lib/python/matplotlib/contour.py", line 460, in __init__ > self.ax.add_collection(col) > File "/Users/jsw/lib/python/matplotlib/axes.py", line 1140, in > add_collection > self.update_datalim(collection.get_datalim(self.transData)) > File "/Users/jsw/lib/python/matplotlib/collections.py", line 142, in > get_datalim > offsets, transOffset.frozen()) > File "/Users/jsw/lib/python/matplotlib/path.py", line 481, in > get_path_collection_extents > raise ValueError("No paths provided") > > To trigger this, try running the plotprecip.py basemap example. > > -Jeff > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Works on RHEL4, with most applicable things built from source... Python 2.5, Gtk+: gtk+: 2.10.9, glib: 2.12.9, pygtk: 2.10.4, pygobject: 2.13.1 Cheers, Mike Jeff Whitaker wrote: > John Hunter wrote: >> I just noticed that the blit API in GTK* is causing a seg fault on my >> desktop. Can anyone confirm this on another system. Has anyone made >> any changes that you are aware of that might have affected this part >> of the code? I am seeing problems with >> examples/animation_blit.py and examples/poly_editor.py so it looks >> like anything using the copy region / blit API in GTK is broken, at >> least on my system. tkagg is working fine, so it is probably not a >> problem on the agg side, and GTK and GTKAgg are both affected. I >> don't use this functionality often, so I don't know how long the >> problem has persisted. In fact, it is possible I have never tested it >> on this system (solaris x86 with pygtk 2.6) >> >> JDH >> >> > > John: Works fine on OS X with > > Gtk+: gtk+: 2.6.10, glib: 2.12.4, pygtk: 2.6.3, pygobject [pre-pygobject] > > -Jeff > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
John Hunter wrote: > To enable donations, all project admins must opt in. In addition to > me, those are Charlie, Darren, Eric, Jeff and Michael and the opt in > page is at > http://sourceforge.net/project/admin/donations.php?group_id=80706. > The donations are set up to go into my paypal account, but if one of > you wants to create a dedicated account to handle these, that is fine > by me. I seem to be having some trouble with sourceforge; it is not clear whether my update is going through. If we don't get a confirming email I will try again later. > > If anyone has concerns or suggestions, let me know. We get a fair > amount of web traffic and maybe we can raise enough money to do > something useful. I have no experience with donations so I have no > idea whether this is feasible, but it seems like it is worth a shot. Just a question: how do you handle taxes? Won't you be stuck paying income tax on any donations? Not that I know of any way to get around it short of incorporating as a nonprofit. Eric
It seems to have broken when I upgraded the branch to Agg 2.4. Agg 2.4 now handles interpolating the edges of the image with a background color more-or-less "correctly", and no longer needs the hack that adds boundary pixels to the image before sending it to Agg for interpolation. Should also be much faster with large images. Fixed in r4568. Cheers, Mike Jeff Whitaker wrote: > Michael Droettboom wrote: >> Thanks for finding this. It was an x,y reversal indexing the mesh >> array. Fixed in r4565. >> >> Cheers, >> Mike >> >> Jeff Whitaker wrote: >>> >>> Hi Michael: I've been testing basemap with the transforms branch. >>> All the examples now run, but the ones that use pcolormesh don't work >>> correctly. I've attached an example. In the trunk, using either >>> pcolor or pcolormesh produce an identical plot. In the transforms >>> branch, using pcolor produces the correct plot, but using pcolormesh >>> seems to scramble the image. >>> >>> -Jeff >>> >> > OK - since you fixed that one so fast, here's another one! Seems like > images don't quite fill up the entire axes - running this script with > the transforms branch you'll see a white strip around the top and right > side of the image. > > -Jeff > > P.S. the data this script needs is in the basemap examples directory. > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
John Hunter wrote: > I just noticed that the blit API in GTK* is causing a seg fault on my > desktop. Can anyone confirm this on another system. Has anyone made > any changes that you are aware of that might have affected this part > of the code? I am seeing problems with > examples/animation_blit.py and examples/poly_editor.py so it looks > like anything using the copy region / blit API in GTK is broken, at > least on my system. tkagg is working fine, so it is probably not a > problem on the agg side, and GTK and GTKAgg are both affected. I > don't use this functionality often, so I don't know how long the > problem has persisted. In fact, it is possible I have never tested it > on this system (solaris x86 with pygtk 2.6) > > JDH > > John: Works fine on OS X with Gtk+: gtk+: 2.6.10, glib: 2.12.4, pygtk: 2.6.3, pygobject [pre-pygobject] -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
I just noticed that the blit API in GTK* is causing a seg fault on my desktop. Can anyone confirm this on another system. Has anyone made any changes that you are aware of that might have affected this part of the code? I am seeing problems with examples/animation_blit.py and examples/poly_editor.py so it looks like anything using the copy region / blit API in GTK is broken, at least on my system. tkagg is working fine, so it is probably not a problem on the agg side, and GTK and GTKAgg are both affected. I don't use this functionality often, so I don't know how long the problem has persisted. In fact, it is possible I have never tested it on this system (solaris x86 with pygtk 2.6) JDH
Some time ago, I talked about enabling mpl donations to raise money for development. My goal is to promote donations with some reasonably prominent info on the web page, and some emails as well, to raise enough to fund a sprint. This is the blurb I wrote for the donations page: All donations to matplotlib will be used to fund matplotlib development. Our primary goal is to raise enough funds to finance a developer sprint to work on new features, better installers and better documentation. To enable donations, all project admins must opt in. In addition to me, those are Charlie, Darren, Eric, Jeff and Michael and the opt in page is at http://sourceforge.net/project/admin/donations.php?group_id=80706. The donations are set up to go into my paypal account, but if one of you wants to create a dedicated account to handle these, that is fine by me. If anyone has concerns or suggestions, let me know. We get a fair amount of web traffic and maybe we can raise enough money to do something useful. I have no experience with donations so I have no idea whether this is feasible, but it seems like it is worth a shot. JDH
Jeff Whitaker wrote: > Michael Droettboom wrote: >> Thanks for finding this. It was an x,y reversal indexing the mesh >> array. Fixed in r4565. >> >> Cheers, >> Mike >> >> Jeff Whitaker wrote: >>> >>> Hi Michael: I've been testing basemap with the transforms branch. >>> All the examples now run, but the ones that use pcolormesh don't >>> work correctly. I've attached an example. In the trunk, using >>> either pcolor or pcolormesh produce an identical plot. In the >>> transforms branch, using pcolor produces the correct plot, but using >>> pcolormesh seems to scramble the image. >>> >>> -Jeff >>> >> > OK - since you fixed that one so fast, here's another one! Seems like > images don't quite fill up the entire axes - running this script with > the transforms branch you'll see a white strip around the top and > right side of the image. > > -Jeff > > P.S. the data this script needs is in the basemap examples directory. > Michael: And one more - contourf will die if you there are no contours at the requested levels. The error message looks like this: Traceback (most recent call last): File "plotprecip.py", line 52, in <module> cs = m.contourf(x,y,data,clevs,cmap=cm.s3pcpn) File "/Users/jsw/lib/python/matplotlib/toolkits/basemap/basemap.py", line 2425, in contourf CS = ax.contourf(x,y,data,*args,**kwargs) File "/Users/jsw/lib/python/matplotlib/axes.py", line 5017, in contourf return mcontour.ContourSet(self, *args, **kwargs) File "/Users/jsw/lib/python/matplotlib/contour.py", line 460, in __init__ self.ax.add_collection(col) File "/Users/jsw/lib/python/matplotlib/axes.py", line 1140, in add_collection self.update_datalim(collection.get_datalim(self.transData)) File "/Users/jsw/lib/python/matplotlib/collections.py", line 142, in get_datalim offsets, transOffset.frozen()) File "/Users/jsw/lib/python/matplotlib/path.py", line 481, in get_path_collection_extents raise ValueError("No paths provided") To trigger this, try running the plotprecip.py basemap example. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Michael Droettboom wrote: > Thanks for finding this. It was an x,y reversal indexing the mesh > array. Fixed in r4565. > > Cheers, > Mike > > Jeff Whitaker wrote: >> >> Hi Michael: I've been testing basemap with the transforms branch. >> All the examples now run, but the ones that use pcolormesh don't work >> correctly. I've attached an example. In the trunk, using either >> pcolor or pcolormesh produce an identical plot. In the transforms >> branch, using pcolor produces the correct plot, but using pcolormesh >> seems to scramble the image. >> >> -Jeff >> > OK - since you fixed that one so fast, here's another one! Seems like images don't quite fill up the entire axes - running this script with the transforms branch you'll see a white strip around the top and right side of the image. -Jeff P.S. the data this script needs is in the basemap examples directory. -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Thanks for finding this. It was an x,y reversal indexing the mesh array. Fixed in r4565. Cheers, Mike Jeff Whitaker wrote: > > Hi Michael: I've been testing basemap with the transforms branch. All > the examples now run, but the ones that use pcolormesh don't work > correctly. I've attached an example. In the trunk, using either > pcolor or pcolormesh produce an identical plot. In the transforms > branch, using pcolor produces the correct plot, but using pcolormesh > seems to scramble the image. > > -Jeff > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Hi Michael: I've been testing basemap with the transforms branch. All the examples now run, but the ones that use pcolormesh don't work correctly. I've attached an example. In the trunk, using either pcolor or pcolormesh produce an identical plot. In the transforms branch, using pcolor produces the correct plot, but using pcolormesh seems to scramble the image. -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
On Dec 3, 2007 9:10 AM, Michael Droettboom <md...@st...> wrote: > I'm +1 on just removing the paragraph altogether. It only applies if > someone did: > > python setup.py install --install-data=/some/weird/place Yes, it should be removed. It predates the move of the data to mpl-data in the matplotlib installation directory, and isn't really needed anymore. JDH
[Brought conversation back to matplotlib-devel list]. Mario Oschwald wrote: > Hello > > Michael Droettboom wrote: >> Mario Oschwald wrote: >>> This passage in the INSTALL file is misleading: >>> >>> Note that if you install matplotlib anywhere other than the default >>> location, you will need to set the MATPLOTLIBDATA environment >>> variable to point to the install base dir. >>> >> Was that necessary? I routinely install matplotlib to a non-standard >> location, and have never set MATPLOTLIBDATA. If MATPLOTLIBDATA is not >> set, it appears that matplotlib will look for the "mpl-data" directory >> underneath the main matplotlib directory. (Which in your case is >> /home/mo/mpl/lib/python2.4/site-packages/matplotlib/). I'm curious if >> you get errors without specifying MATPLOTLIBDATA, and what the error is. >> Perhaps the INSTALL docs should be updated to clarify that you only >> need this if you install the data in a non-standard place *relative to* >> the source code... > > You are right - if I unset that variable the mpl-data directory is found > automagically ;-) Stupid me for reading INSTALL files :-). That passage > should definitely be updated to reflect that behaviour. I'm +1 on just removing the paragraph altogether. It only applies if someone did: python setup.py install --install-data=/some/weird/place Is that a common enough use case to confuse the matter? (Obviously MATPLOTLIBDATA should be mentioned elsewhere in the docs, but it seems too unimportant for the main INSTALL file.) >>> Secondly this passage in matplotlib/mathtext.py >>> >>> 544 if cached_font is None: >>> 545 try: >>> 546 font = FT2Font(basename) >>> 547 except RuntimeError: >>> 548 return None >> The intent of this code is "if the font isn't found, use a dummy >> character." Since there are so many different font configurations, and >> they're all a little brittle, I thought it better to warn and fail >> gracefully than to fail completely (and users can always use the "-We" >> to fail on warnings.) Otherwise, we run the risk of having some plots >> not working on all installations (because of font limitations, etc.) >> >> However, the implementation isn't quite right because not all callers >> expect and deal with the 'None' result correctly. I have fixed this in >> -r4557. Can you please send a script that triggers this error, so I can >> ensure my patch corrects for it? > > OK, I can understand that. If you set the MATPLOTLIBDATA environment variable > to some wrong directory and the font file is not found it crashes right here > when trying to access the returned None object without a prior check: > > 669 if symbol_name is None: > 670 warn("Unrecognized symbol '%s'. Substituting with a dummy symbol." > 671 % sym.encode('ascii', 'backslashreplace'), MathTextWarning) > 672 fontname = 'it' > 673 cached_font = self._get_font(fontname) > 674 num = 0x3F # currency character, for lack of anything better > ->675 gid = cached_font.charmap[num] > > Snipped stacktrace below: > /home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py:671: MathTextWarning: Unrecognized symbol 'e'. Substituting with a dummy symbol. > % sym.encode('ascii', 'backslashreplace'), MathTextWarning) > IN FONTMAP > ---lots of parsing--- > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 2243, in symbol > char = Char(c, self.get_state()) > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 1211, in __init__ > self._update_metrics() > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 1217, in _update_metrics > metrics = self._metrics = self.font_output.get_metrics( > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 464, in get_metrics > info = self._get_info(font, font_class, sym, fontsize, dpi) > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 567, in _get_info > cached_font, num, symbol_name, fontsize, slanted = \ > File "/home/mo/mpl/lib/python2.4/site-packages/matplotlib/mathtext.py", line 675, in _get_glyph > gid = cached_font.charmap[num] > AttributeError: 'NoneType' object has no attribute 'charmap' > > You can trigger it with the attached script, provided you set the MATPLOTLIBDATA to something > bad or remove the font file all together. Thanks. r4557 fixes this. There will probably be another bugfix release (0.91.2 or something) in the near future that includes this change. Cheers, Mike -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA