|
From: Steve M. <st...@st...> - 2010-07-12 23:44:43
|
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
|
|
From: Steve M. <st...@st...> - 2010-07-13 00:56:33
|
After a reinstallation of a few libraries the error message changed. It is as if basemap is not linked to matplotlib.
Traceback (most recent call last):
File "testImageGen.py", line 117, in <module>
setCommonBaseMapProperties(m)
File "/home/forecast/sgWaveModel/sgUtil.py", line 38, in setCommonBaseMapProperties
bmap.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'
I am using basemap 1.0 and all the latest libraries for everything required by PIL, matplotlib, pygrib, pyproj etc....
On Jul 12, 2010, at 4: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
> ------------------------------------------------------------------------------
> 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
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|
|
From: Jeff W. <js...@fa...> - 2010-07-13 01:28:48
|
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
|
|
From: Steve M. <st...@st...> - 2010-07-13 01:20:23
|
Hello Jeff,
Again this was an issue with my lack of understanding. Installing python-matplotlib-data solved the issue.
Thanks once again.
- Steve (aka. AbstractMapping)
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
>
>
>
|
|
From: Steve M. <st...@st...> - 2010-07-13 02:12:47
|
I was wrong in my last email. I was running another script and has a residual image from when I uploaded. I will test this and and post back.
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
>
>
>
> ------------------------------------------------------------------------------
> 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
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|
|
From: Steve M. <st...@st...> - 2010-07-13 17:41:36
|
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
|
|
From: Jeff W. <js...@fa...> - 2010-07-13 18:36:25
|
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
--
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-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
|
|
From: Steve M. <st...@st...> - 2010-07-13 20:55:25
|
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
|