On Jul 13, 2010, at 11:36 AM, Jeff Whitaker wrote:
> On 7/13/10 11:41 AM, Steve McFarlin wrote:
>> On Jul 12, 2010, at 6:15 PM, Jeff Whitaker wrote:
>>
>>> On 7/12/10 5:34 PM, Steve McFarlin wrote:
>>>> Hello,
>>>>
>>>> I have an issue rendering with basemap on a Debian server using Agg. I
>>>> have confirmed that matplotlib does render using the following example.
>>>>
>>>> # do this before importing pylab or pyplot
>>>> import matplotlib
>>>> matplotlib.use('Agg')
>>>> import matplotlib.pyplot as plt
>>>> fig = plt.figure()
>>>> ax = fig.add_subplot(111)
>>>> ax.plot([1,2,3])
>>>> fig.savefig('test.png')
>>>>
>>>> However, I receive the following results when using basemap
>>>>
>>>> Traceback (most recent call last):
>>>> File "testImageGen.py", line 117, in<module>
>>>> setCommonBaseMapProperties(m)
>>>> File "/home/forecast/sgWaveModel/sgUtil.py", line 34, in
>>>> setCommonBaseMapProperties
>>>> bmap.drawcoastlines(color=[15./255., 53./255.,73./255.], linewidth=0.15)
>>>> File "/usr/lib/python2.5/site-packages/mpl_toolkits/basemap/__init__.py",
>>>> line 1479, in drawcoastlines
>>>> self.set_axes_limits(ax=ax)
>>>> File "/usr/lib/python2.5/site-packages/mpl_toolkits/basemap/__init__.py",
>>>> line 2607, in set_axes_limits
>>>> and not ax.get_autoscalex_on()
>>>> AttributeError: 'AxesSubplot' object has no attribute 'get_autoscalex_on'
>>>>
>>>>
>>>> I am using matplotlib.use('Agg') as the first call in the script. The call
>>>> to bmpa.drawcoastlines is the first call to basemap I make in my scripts.
>>>> This works on a system with a windowing toolkit. Any ideas?
>>>>
>>>>
>>>> - steve
>>>>
>>>>
>>> Steve: What's your matplotlib version? Does adding
>>>
>>> ax.get_autoscalex_on()
>>>
>>> in your first script cause that to fail as well?
>>>
>>> -Jeff
>>>
>>
>> python 2.5
>> Matplotlib 1.0.0
>> basemap 1.0
>> pygrib 1.7
>> pyproj 1.8.6
>> numpy 1.4.1
>> Latest source of GRIB API
>> Jasper 1.9
>>
>> At this point I am trying anything. I upgraded everything to the latest
>> version. I now receive the following error, and a warnings.
>>
>> /usr/lib/python2.5/site-packages/matplotlib/contour.py:474:
>> DeprecationWarning: PyArray_FromDims: use PyArray_SimpleNew.
>> nchunk = self.nchunk)
>> /usr/lib/python2.5/site-packages/matplotlib/contour.py:474:
>> DeprecationWarning: PyArray_FromDimsAndDataAndDescr: use
>> PyArray_NewFromDescr.
>> nchunk = self.nchunk)
>>
>> Traceback (most recent call last):
>> File "testImageGen.py", line 124, in<module>
>> m.drawmapboundary(linewidth=0.0, color=[15./255., 53./255.,73./255.])
>> File "/usr/lib/python2.5/site-packages/mpl_toolkits/basemap/__init__.py",
>> line 1325, in drawmapboundary
>> for spine in ax.spines.itervalues():
>> AttributeError: 'AxesSubplot' object has no attribute 'spines''
>>
>>
>> Here are the functions I am calling and their associated errors.
>>
>> bmap.drawcoastlines(color=[15./255., 53./255.,73./255.], linewidth=0.15)
>> bmap.drawcountries(color='k', linewidth=0.25)
>> bmap.fillcontinents(color="white",lake_color=[51./255., 153./255.,204./255.])
>> bmap.drawstates(color='k', linewidth=0.25)
>>
>> No errors for the above calls
>>
>> bmap.drawmapboundary(linewidth=0.0, color=[15./255., 53./255.,73./255.])
>>
>> I receive the AxesSubplot error listed above.
>>
>> I believe the errors before (and possible the current) were due to operator
>> error. I should have started with the latest version of the source from the
>> start rather then installing deb packages.
>>
>>
>> Thanks,
>> Steve
>>
> Steve: I cannot reproduce this error. It would help if you sent a
> self-contained example that I can run to trigger the error. It is
> puzzling since the line that the traceback is pointing to is in a
> try/except block which tries to old matplotlib API to set the color of
> the map boundary, and if that fails use the newer 'spines' module (which
> is available in 1.0). My hypothesis is that you somehow have a mixture
> of old and new matplotlib versions installed in
> /usr/lib/python2.5/site-packages, but that's just a guess.
>
> -Jeff
>
> --
My suspicion and your hypothesis were likely correct. I installed python 2.6
from source and all the latest libraries for everything required by pygrib and
basemap. It all works wonderfully.
Thanks,
Steve
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users