basemap error or user error?

Hi all,

I have a weird thing happening with basemap and I am not sure if it's
basemap or me, but more than likely it's me :frowning:

Here is the grib file that I am using:
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2

And here is my code:

路路路

#############################################
import matplotlib
import matplotlib.mpl as mpl
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pylab as pylab
from mpl_toolkits.basemap import Basemap
from grib2 import Grib2Decode

grbs = Grib2Decode('multi_1.20090321.t18z_multi_1.wc_10m.all.grb2')

lats, lons = grbs[0].grid()
mapCoords = [32.35,-121.0,34.75,-116.75]
#mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()]

colorList =
[[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.],
聽聽聽聽聽聽聽聽聽聽聽
[0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0],
聽聽聽聽聽聽聽聽聽聽聽
[153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0],
聽聽聽聽聽聽聽聽聽聽聽
[255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.],
聽聽聽聽聽聽聽聽聽聽聽聽[208./255.,32./255.,144./255.],[255./255.,0,255./255.]]
cmap = matplotlib.colors.ListedColormap(colorList, name = 'theColorMap', N =
len(colorList))

m = Basemap(projection='merc',lat_ts = 30,\
聽聽聽聽聽聽聽聽聽聽聽
llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\
聽聽聽聽聽聽聽聽聽聽聽聽resolution='h',area_thresh=0.5, suppress_ticks = True)

fig = plt.figure(figsize=(14.58,10.58))
fig.set_dpi(100)

nlats, nlons = grbs[0].data().shape

x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)

X, Y = m(*np.meshgrid(x, y))

z = grbs[0].data().filled(1)

m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend='both')

m.fillcontinents(color='green',lake_color='b')
m.drawcoastlines(color='k', linewidth=0.75)
m.drawcountries(color='k', linewidth=0.25)
m.drawstates(color='k', linewidth=0.25)
m.drawmapboundary(linewidth=1.0, color='k')

plt.show()
#############################################

If you look at lines 14 and 15 you can see that i have a variable called
mapCoords that feeds the lat/lon coordinates to the basemap object. If i set
them up using the commented line (line 15) it will plot the map for all the
data in the file and it will display it correctly. If i use line 14 which is
the zoomed area that i am interested in it will display the basemap map
correctly zoomed in but it will not show the plotted data. Any ideas on what
is happening here?

Also, if you have any comments on optimizing the code I would really
appreciate it!

Thanks,
Anton


View this message in context: http://www.nabble.com/basemap-error-or-user-error--tp23017806p23017806.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

antonv wrote:

Hi all,

I have a weird thing happening with basemap and I am not sure if it's
basemap or me, but more than likely it's me :frowning:

Here is the grib file that I am using:
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2

And here is my code:
#############################################
import matplotlib
import matplotlib.mpl as mpl
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pylab as pylab
from mpl_toolkits.basemap import Basemap
from grib2 import Grib2Decode

grbs = Grib2Decode('multi_1.20090321.t18z_multi_1.wc_10m.all.grb2')

lats, lons = grbs[0].grid()
mapCoords = [32.35,-121.0,34.75,-116.75]
#mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()]

colorList =
[[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.],
聽聽聽聽聽聽聽聽聽聽聽[0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0],
聽聽聽聽聽聽聽聽聽聽聽[153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0],
聽聽聽聽聽聽聽聽聽聽聽[255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.],
聽聽聽聽聽聽聽聽聽聽聽聽[208./255.,32./255.,144./255.],[255./255.,0,255./255.]]
cmap = matplotlib.colors.ListedColormap(colorList, name = 'theColorMap', N =
len(colorList))

m = Basemap(projection='merc',lat_ts = 30,\
聽聽聽聽聽聽聽聽聽聽聽llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\
聽聽聽聽聽聽聽聽聽聽聽聽resolution='h',area_thresh=0.5, suppress_ticks = True)

fig = plt.figure(figsize=(14.58,10.58))
fig.set_dpi(100)

nlats, nlons = grbs[0].data().shape

x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)

X, Y = m(*np.meshgrid(x, y))

z = grbs[0].data().filled(1)

m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend='both')

m.fillcontinents(color='green',lake_color='b')
m.drawcoastlines(color='k', linewidth=0.75)
m.drawcountries(color='k', linewidth=0.25)
m.drawstates(color='k', linewidth=0.25)
m.drawmapboundary(linewidth=1.0, color='k')

plt.show()
#############################################

If you look at lines 14 and 15 you can see that i have a variable called
mapCoords that feeds the lat/lon coordinates to the basemap object. If i set
them up using the commented line (line 15) it will plot the map for all the
data in the file and it will display it correctly. If i use line 14 which is
the zoomed area that i am interested in it will display the basemap map
correctly zoomed in but it will not show the plotted data. Any ideas on what
is happening here?

Also, if you have any comments on optimizing the code I would really
appreciate it!

Thanks,
Anton

Anton: Probably your data doesn't cover the zoomed region, but without actually having your data I can't be sure.

One question: why are you rebuilding the lons and lats from scratch when you already have them? It seems like you can get rid of

nlats, nlons = grbs[0].data().shape
x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)
X, Y = m(*np.meshgrid(x, y))

and replace it with

X,Y = m(lons, lats)

-Jeff

路路路

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg

Jeff, thanks for the comment on rebuilding the lons and lats!

I have attached 2 images, one that is from the whole data in the file and
the other the zoomed version.
http://www.nabble.com/file/p23031035/basemap_all.png basemap_all.png
http://www.nabble.com/file/p23031035/basemap_zoom.png basemap_zoom.png

What seems to be happening is that the coordinates seem to be in different
projections as the values of lats.min(),lons.min(),lats.max(),lons.max() are
25.0,210.0,50.0,250.0 while the list I'm providing is
32.35,-121.0,34.75,-116.75. Any ideas on why basemap seems to be reading
both coordinate lists and provides the proper land contours while contourf
seems to be off?

Thanks,
Anton

Jeff Whitaker wrote:

路路路

antonv wrote:

Hi all,

I have a weird thing happening with basemap and I am not sure if it's
basemap or me, but more than likely it's me :frowning:

Here is the grib file that I am using:
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2

And here is my code:
#############################################
import matplotlib
import matplotlib.mpl as mpl
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pylab as pylab
from mpl_toolkits.basemap import Basemap
from grib2 import Grib2Decode

grbs = Grib2Decode('multi_1.20090321.t18z_multi_1.wc_10m.all.grb2')

lats, lons = grbs[0].grid()
mapCoords = [32.35,-121.0,34.75,-116.75]
#mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()]

colorList =
[[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.],
聽聽聽聽聽聽聽聽聽聽聽
[0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0],
聽聽聽聽聽聽聽聽聽聽聽
[153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0],
聽聽聽聽聽聽聽聽聽聽聽
[255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.],
聽聽聽聽聽聽聽聽聽聽聽聽[208./255.,32./255.,144./255.],[255./255.,0,255./255.]]
cmap = matplotlib.colors.ListedColormap(colorList, name = 'theColorMap',
N =
len(colorList))

m = Basemap(projection='merc',lat_ts = 30,\
聽聽聽聽聽聽聽聽聽聽聽
llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\
聽聽聽聽聽聽聽聽聽聽聽聽resolution='h',area_thresh=0.5, suppress_ticks = True)

fig = plt.figure(figsize=(14.58,10.58))
fig.set_dpi(100)

nlats, nlons = grbs[0].data().shape

x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)

X, Y = m(*np.meshgrid(x, y))

z = grbs[0].data().filled(1)

m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend='both')

m.fillcontinents(color='green',lake_color='b')
m.drawcoastlines(color='k', linewidth=0.75)
m.drawcountries(color='k', linewidth=0.25)
m.drawstates(color='k', linewidth=0.25)
m.drawmapboundary(linewidth=1.0, color='k')

plt.show()
#############################################

If you look at lines 14 and 15 you can see that i have a variable called
mapCoords that feeds the lat/lon coordinates to the basemap object. If i
set
them up using the commented line (line 15) it will plot the map for all
the
data in the file and it will display it correctly. If i use line 14 which
is
the zoomed area that i am interested in it will display the basemap map
correctly zoomed in but it will not show the plotted data. Any ideas on
what
is happening here?

Also, if you have any comments on optimizing the code I would really
appreciate it!

Thanks,
Anton

Anton: Probably your data doesn't cover the zoomed region, but without
actually having your data I can't be sure.

One question: why are you rebuilding the lons and lats from scratch
when you already have them? It seems like you can get rid of

nlats, nlons = grbs[0].data().shape
x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)
X, Y = m(*np.meshgrid(x, y))

and replace it with

X,Y = m(lons, lats)

-Jeff

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


View this message in context: http://www.nabble.com/basemap-error-or-user-error--tp23017806p23031035.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

antonv wrote:

Jeff, thanks for the comment on rebuilding the lons and lats!

I have attached 2 images, one that is from the whole data in the file and
the other the zoomed version. http://www.nabble.com/file/p23031035/basemap_all.png basemap_all.png http://www.nabble.com/file/p23031035/basemap_zoom.png basemap_zoom.png

What seems to be happening is that the coordinates seem to be in different
projections as the values of lats.min(),lons.min(),lats.max(),lons.max() are 25.0,210.0,50.0,250.0 while the list I'm providing is
32.35,-121.0,34.75,-116.75.

Anton: Try using (32.35, 239,34.75,243.25). The longitudes in your data probably go from 0 to 360, so negative longitudes are outside the region spanned by your data.

-Jeff

路路路

Any ideas on why basemap seems to be reading
both coordinate lists and provides the proper land contours while contourf
seems to be off?

Thanks,
Anton

Jeff Whitaker wrote:
聽聽

antonv wrote:
聽聽聽聽

Hi all,

I have a weird thing happening with basemap and I am not sure if it's
basemap or me, but more than likely it's me :frowning:

Here is the grib file that I am using:
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2

And here is my code:
#############################################
import matplotlib
import matplotlib.mpl as mpl
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pylab as pylab
from mpl_toolkits.basemap import Basemap
from grib2 import Grib2Decode

grbs = Grib2Decode('multi_1.20090321.t18z_multi_1.wc_10m.all.grb2')

lats, lons = grbs[0].grid()
mapCoords = [32.35,-121.0,34.75,-116.75]
#mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()]

colorList =
[[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.],
聽聽聽聽聽聽聽聽聽聽聽[0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0],
聽聽聽聽聽聽聽聽聽聽聽[153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0],
聽聽聽聽聽聽聽聽聽聽聽[255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.],
聽聽聽聽聽聽聽聽聽聽聽聽[208./255.,32./255.,144./255.],[255./255.,0,255./255.]]
cmap = matplotlib.colors.ListedColormap(colorList, name = 'theColorMap',
N =
len(colorList))

m = Basemap(projection='merc',lat_ts = 30,\
聽聽聽聽聽聽聽聽聽聽聽llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\
聽聽聽聽聽聽聽聽聽聽聽聽resolution='h',area_thresh=0.5, suppress_ticks = True)

fig = plt.figure(figsize=(14.58,10.58))
fig.set_dpi(100)

nlats, nlons = grbs[0].data().shape

x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)

X, Y = m(*np.meshgrid(x, y))

z = grbs[0].data().filled(1)

m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend='both')

m.fillcontinents(color='green',lake_color='b')
m.drawcoastlines(color='k', linewidth=0.75)
m.drawcountries(color='k', linewidth=0.25)
m.drawstates(color='k', linewidth=0.25)
m.drawmapboundary(linewidth=1.0, color='k')

plt.show()
#############################################

If you look at lines 14 and 15 you can see that i have a variable called
mapCoords that feeds the lat/lon coordinates to the basemap object. If i
set
them up using the commented line (line 15) it will plot the map for all
the
data in the file and it will display it correctly. If i use line 14 which
is
the zoomed area that i am interested in it will display the basemap map
correctly zoomed in but it will not show the plotted data. Any ideas on
what
is happening here?

Also, if you have any comments on optimizing the code I would really
appreciate it!

Thanks,
Anton

Anton: Probably your data doesn't cover the zoomed region, but without actually having your data I can't be sure.

One question: why are you rebuilding the lons and lats from scratch when you already have them? It seems like you can get rid of

nlats, nlons = grbs[0].data().shape
x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)
X, Y = m(*np.meshgrid(x, y))

and replace it with

X,Y = m(lons, lats)

-Jeff

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

That鈥檚 what was happening! Thanks again Jeff!

路路路

From: Jeff Whitaker <jswhit@鈥146鈥>
To: antonv <vasilescu_anton@鈥9鈥>
Cc: matplotlib-users@lists.sourceforge.net
Sent: Tuesday, April 14, 2009 4:39:13 AM
Subject: Re: [Matplotlib-users] basemap error or user error?

antonv wrote:

Jeff, thanks for the comment on rebuilding the lons and lats!

I have attached 2 images, one that is from the whole data in the file and
the other the zoomed version. http://www.nabble.com/file/p23031035/basemap_all.png basemap_all.png http://www.nabble.com/file/p23031035/basemap_zoom.png basemap_zoom.png
What seems to be happening is that the coordinates seem to be in different
projections as the values of lats.min(),lons.min(),lats.max(),lons.max() are 25.0,210.0,50.0,250.0 while the list I鈥檓 providing is
32.35,-121.0,34.75,-116.75.

Anton: Try using (32.35, 239,34.75,243.25). The longitudes in your data probably go from 0 to 360, so negative longitudes are outside the region spanned by
your data.

-Jeff

Any ideas on why basemap seems to be reading
both coordinate lists and provides the proper land contours while contourf
seems to be off?

Thanks,
Anton

Jeff Whitaker wrote:

antonv wrote:

Hi all,

I have a weird thing happening with basemap and I am not sure if it鈥檚
basemap or me, but more than likely it鈥檚 me :frowning:

Here is the grib file that I am using:
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2
And here is my code:
#############################################
import matplotlib
import matplotlib.mpl as mpl
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pylab as pylab
from mpl_toolkits.basemap import Basemap
from grib2 import Grib2Decode

grbs = Grib2Decode(鈥榤ulti_1.20090321.t18z_multi_1.wc_10m.all.grb2鈥)

lats, lons = grbs[0].grid()
mapCoords = [32.35,-121.0,34.75,-116.75]
#mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()]

colorList =

[[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.],

       [0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0],
       [153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0],
       [255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.],
       [208./255.,32./255.,144./255.],[255./255.,0,255./255.]]

cmap = matplotlib.colors.ListedColormap(colorList, name = 鈥榯heColorMap鈥,
N =
len(colorList))

m = Basemap(projection=鈥榤erc鈥,lat_ts = 30,\

llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\

       resolution='h',area_thresh=0.5, suppress_ticks = True)

fig = plt.figure(figsize=(14.58,10.58))
fig.set_dpi(100)

nlats, nlons = grbs[0].data().shape

x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)

X, Y = m(*np.meshgrid(x, y))

z = grbs[0].data().filled(1)

m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend=鈥榖oth鈥)

m.fillcontinents(color=鈥榞reen鈥,lake_color=鈥榖鈥)
m.drawcoastlines(color=鈥榢鈥, linewidth=0.75)
m.drawcountries(color=鈥榢鈥,
linewidth=0.25)

m.drawstates(color=鈥榢鈥, linewidth=0.25)
m.drawmapboundary(linewidth=1.0, color=鈥榢鈥)

plt.show()
#############################################

If you look at lines 14 and 15 you can see that i have a variable called
mapCoords that feeds the lat/lon coordinates to the basemap object. If i
set
them up using the commented line (line 15) it will plot the map for all
the
data in the file and it will display it correctly. If i use line 14 which
is
the zoomed area that i am interested in it will display the basemap map
correctly zoomed in but it will not show the plotted data. Any ideas on
what
is happening here?

Also, if you have any comments
on optimizing the code I would really

appreciate it!

Thanks,
Anton

Anton: Probably your data doesn鈥檛 cover the zoomed region, but without actually having your data I can鈥檛 be sure.
One question: why are you rebuilding the lons and lats from scratch when you already have them? It seems like you can get rid of

nlats, nlons = grbs[0].data().shape
x = np.linspace(lons.min(),lons.max(),nlons)
y = np.linspace(lats.min(),lats.max(),nlats)
X, Y = m(*np.meshgrid(x, y))

and replace it with

X,Y = m(lons, lats)

-Jeff

鈥 Jeffrey S. Whitaker Phone : (303)497-6313

Meteorologist FAX : (303)497-6449

NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@鈥259鈥
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg


This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users