From: <jd...@us...> - 2007-10-21 21:08:55
|
Revision: 3979 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3979&view=rev Author: jdh2358 Date: 2007-10-21 14:08:53 -0700 (Sun, 21 Oct 2007) Log Message: ----------- rename skel Added Paths: ----------- trunk/py4science/examples/skel/glass_dots1_skel.py Removed Paths: ------------- trunk/py4science/examples/skel/glass_dots_skel.py Copied: trunk/py4science/examples/skel/glass_dots1_skel.py (from rev 3978, trunk/py4science/examples/skel/glass_dots_skel.py) =================================================================== --- trunk/py4science/examples/skel/glass_dots1_skel.py (rev 0) +++ trunk/py4science/examples/skel/glass_dots1_skel.py 2007-10-21 21:08:53 UTC (rev 3979) @@ -0,0 +1,77 @@ +""" +Moire patterns from random dot fields + +http://en.wikipedia.org/wiki/Moir%C3%A9_pattern + +See L. Glass. 'Moire effect from random dots' Nature 223, 578580 (1969). +""" +from numpy import cos, sin, pi, matrix +import numpy as npy +import numpy.linalg as linalg +from pylab import figure, show + +def csqrt(x): + """ + sqrt func that handles returns sqrt(x)j for x<0 + """ + XXX + +def myeig(M): + """ + compute eigen values and eigenvectors analytically + + Solve quadratic: + + lamba^2 - tau*lambda + Delta = 0 + + where tau = trace(M) and Delta = Determinant(M) + + """ + XXX + return lambda1, lambda2 + +# 2000 random x,y points in the interval[-0.5 ... 0.5] +X1 = XXX + +name = 'saddle' +#sx, sy, angle = XXX + +#name = 'center' +#sx, sy, angle = XXX + +#name = 'stable focus' # spiral +#sx, sy, angle = XXX + +name= 'spiral' +sx, sy, angle = XXX + +theta = angle * pi/180. # the rotation in radians + + +# the scaling matrix +# | sx 0 | +# | 0 sy | +S = XXX + +# the rotation matrix +# | cos(theta) -sin(theta) | +# | sin(theta) cos(theta) | +R = XXX + +# the transformation is the matrix product of the scaling and rotation +M = XXX + +# compute the eigenvalues using numpy linear algebra +vals, vecs = XXX +print 'numpy eigenvalues', vals + +# compare with the analytic values from myeig +avals = myeig(M) +print 'analytic eigenvalues', avals + +# transform X1 by the matrix M +X2 = XXX + +# plot the original x,y as green dots and the transformed x, y as red +# dots +show() Deleted: trunk/py4science/examples/skel/glass_dots_skel.py =================================================================== --- trunk/py4science/examples/skel/glass_dots_skel.py 2007-10-21 21:08:33 UTC (rev 3978) +++ trunk/py4science/examples/skel/glass_dots_skel.py 2007-10-21 21:08:53 UTC (rev 3979) @@ -1,77 +0,0 @@ -""" -Moire patterns from random dot fields - -http://en.wikipedia.org/wiki/Moir%C3%A9_pattern - -See L. Glass. 'Moire effect from random dots' Nature 223, 578580 (1969). -""" -from numpy import cos, sin, pi, matrix -import numpy as npy -import numpy.linalg as linalg -from pylab import figure, show - -def csqrt(x): - """ - sqrt func that handles returns sqrt(x)j for x<0 - """ - XXX - -def myeig(M): - """ - compute eigen values and eigenvectors analytically - - Solve quadratic: - - lamba^2 - tau*lambda + Delta = 0 - - where tau = trace(M) and Delta = Determinant(M) - - """ - XXX - return lambda1, lambda2 - -# 2000 random x,y points in the interval[-0.5 ... 0.5] -X1 = XXX - -name = 'saddle' -#sx, sy, angle = XXX - -#name = 'center' -#sx, sy, angle = XXX - -#name = 'stable focus' # spiral -#sx, sy, angle = XXX - -name= 'spiral' -sx, sy, angle = XXX - -theta = angle * pi/180. # the rotation in radians - - -# the scaling matrix -# | sx 0 | -# | 0 sy | -S = XXX - -# the rotation matrix -# | cos(theta) -sin(theta) | -# | sin(theta) cos(theta) | -R = XXX - -# the transformation is the matrix product of the scaling and rotation -M = XXX - -# compute the eigenvalues using numpy linear algebra -vals, vecs = XXX -print 'numpy eigenvalues', vals - -# compare with the analytic values from myeig -avals = myeig(M) -print 'analytic eigenvalues', avals - -# transform X1 by the matrix M -X2 = XXX - -# plot the original x,y as green dots and the transformed x, y as red -# dots -show() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <js...@us...> - 2007-11-21 21:36:04
|
Revision: 4415 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4415&view=rev Author: jswhit Date: 2007-11-21 13:35:59 -0800 (Wed, 21 Nov 2007) Log Message: ----------- add skeleton scripts Added Paths: ----------- trunk/py4science/examples/skel/basemap1_skel.py trunk/py4science/examples/skel/basemap2_skel.py Added: trunk/py4science/examples/skel/basemap1_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap1_skel.py (rev 0) +++ trunk/py4science/examples/skel/basemap1_skel.py 2007-11-21 21:35:59 UTC (rev 4415) @@ -0,0 +1,27 @@ +import pylab, numpy +from matplotlib.toolkits.basemap import Basemap + +# create figure. +# background color will be used for 'wet' areas. +fig = pylab.figure() +fig.add_axes([0.1,0.1,0.8,0.8],axisbg='aqua') +# create map by specifying lat/lon values at corners. +projection = 'lcc' # map projection +resolution = XX # resolution of boundaries ('c','l','i',or 'h') +lon_0=XX # longitude of origin of map projection domain. +lat_0=XX # standard parallel/latitude of origin of map projection domain. +llcrnrlat, llcrnrlon = XX, XX # lat/lon of lower left corner of map +urcrnrlat, urcrnrlon = XX, XX # lat/lon of upper right corner of map +m = Basemap(lon_0=lon_0,lat_0=lat_0,\ + llcrnrlat=llcrnrlat,llcrnrlon=llcrnrlon,\ + urcrnrlat=urcrnrlat,urcrnrlon=urcrnrlon,\ + resolution=resolution,projection=projection) +# draw coastlines. Make liness a little thinner than default. +m.drawcoastlines(linewidth=0.5) +# fill continents. +m.fillcontinents(color='coral') +# draw states and countries. +m.drawcountries() +m.drawstates() +pylab.title('map region specified using corner lat/lon values') +pylab.show() Added: trunk/py4science/examples/skel/basemap2_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap2_skel.py (rev 0) +++ trunk/py4science/examples/skel/basemap2_skel.py 2007-11-21 21:35:59 UTC (rev 4415) @@ -0,0 +1,27 @@ +import pylab, numpy +from matplotlib.toolkits.basemap import Basemap + +# create figure. +# background color will be used for 'wet' areas. +fig = pylab.figure() +fig.add_axes([0.1,0.1,0.8,0.8],axisbg='aqua') +# create map by specifying width and height in km. +projection = 'lcc' # map projection +resolution = XX # resolution of boundaries ('c','l','i',or 'h') +lon_0=XX # longitude of origin of map projection domain. +lat_0=XX # standard parallel/latitude of origin of map projection domain. +width = XX # width of map projecton domain in km. +height = XX # height of map projection domain in km. +m = Basemap(lon_0=lon_0,lat_0=lat_0,\ + width=width,height=height,\ + resolution=resolution,projection=projection) +# draw coastlines. +m.drawcoastlines(linewidth=0.5) +# fill continents. +m.fillcontinents(color='coral') +# draw states and countries. +m.drawcountries() +m.drawstates() +pylab.title('map region specified using width and height') +pylab.savefig('basemap2.eps') +pylab.savefig('basemap2.png') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <js...@us...> - 2007-11-21 21:37:11
|
Revision: 4416 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4416&view=rev Author: jswhit Date: 2007-11-21 13:37:02 -0800 (Wed, 21 Nov 2007) Log Message: ----------- better comments Modified Paths: -------------- trunk/py4science/examples/skel/basemap1_skel.py trunk/py4science/examples/skel/basemap2_skel.py Modified: trunk/py4science/examples/skel/basemap1_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap1_skel.py 2007-11-21 21:35:59 UTC (rev 4415) +++ trunk/py4science/examples/skel/basemap1_skel.py 2007-11-21 21:37:02 UTC (rev 4416) @@ -8,9 +8,9 @@ # create map by specifying lat/lon values at corners. projection = 'lcc' # map projection resolution = XX # resolution of boundaries ('c','l','i',or 'h') -lon_0=XX # longitude of origin of map projection domain. +lon_0=XX # longitude of origin of map projection domain (degrees). lat_0=XX # standard parallel/latitude of origin of map projection domain. -llcrnrlat, llcrnrlon = XX, XX # lat/lon of lower left corner of map +llcrnrlat, llcrnrlon = XX, XX # lat/lon of lower left corner of map (degrees) urcrnrlat, urcrnrlon = XX, XX # lat/lon of upper right corner of map m = Basemap(lon_0=lon_0,lat_0=lat_0,\ llcrnrlat=llcrnrlat,llcrnrlon=llcrnrlon,\ Modified: trunk/py4science/examples/skel/basemap2_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap2_skel.py 2007-11-21 21:35:59 UTC (rev 4415) +++ trunk/py4science/examples/skel/basemap2_skel.py 2007-11-21 21:37:02 UTC (rev 4416) @@ -8,7 +8,7 @@ # create map by specifying width and height in km. projection = 'lcc' # map projection resolution = XX # resolution of boundaries ('c','l','i',or 'h') -lon_0=XX # longitude of origin of map projection domain. +lon_0=XX # longitude of origin of map projection domain (degrees). lat_0=XX # standard parallel/latitude of origin of map projection domain. width = XX # width of map projecton domain in km. height = XX # height of map projection domain in km. @@ -23,5 +23,4 @@ m.drawcountries() m.drawstates() pylab.title('map region specified using width and height') -pylab.savefig('basemap2.eps') -pylab.savefig('basemap2.png') +pylab.show() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <js...@us...> - 2007-11-23 13:38:20
|
Revision: 4424 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4424&view=rev Author: jswhit Date: 2007-11-23 05:38:18 -0800 (Fri, 23 Nov 2007) Log Message: ----------- add basemap skeletons Modified Paths: -------------- trunk/py4science/examples/skel/basemap2_skel.py Added Paths: ----------- trunk/py4science/examples/skel/basemap3_skel.py trunk/py4science/examples/skel/basemap4_skel.py trunk/py4science/examples/skel/basemap5_skel.py Modified: trunk/py4science/examples/skel/basemap2_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap2_skel.py 2007-11-22 19:37:56 UTC (rev 4423) +++ trunk/py4science/examples/skel/basemap2_skel.py 2007-11-23 13:38:18 UTC (rev 4424) @@ -1,15 +1,16 @@ import pylab, numpy -from matplotlib.toolkits.basemap import Basemap +from matplotlib.toolkits.basemap import Basemap, supported_projections # create figure. # background color will be used for 'wet' areas. fig = pylab.figure() fig.add_axes([0.1,0.1,0.8,0.8],axisbg='aqua') # create map by specifying width and height in km. -projection = 'lcc' # map projection +projection = XX # map projection ('lcc','stere','laea','aea' etc) + # 'print supported_projections' gives a list resolution = XX # resolution of boundaries ('c','l','i',or 'h') -lon_0=XX # longitude of origin of map projection domain (degrees). -lat_0=XX # standard parallel/latitude of origin of map projection domain. +lon_0= XX # longitude of origin of map projection domain (degrees). +lat_0= XX # standard parallel/latitude of origin of map projection domain. width = XX # width of map projecton domain in km. height = XX # height of map projection domain in km. m = Basemap(lon_0=lon_0,lat_0=lat_0,\ Added: trunk/py4science/examples/skel/basemap3_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap3_skel.py (rev 0) +++ trunk/py4science/examples/skel/basemap3_skel.py 2007-11-23 13:38:18 UTC (rev 4424) @@ -0,0 +1,46 @@ +import pylab, numpy +from matplotlib.toolkits.basemap import Basemap + +# create figure. +# background color will be used for 'wet' areas. +fig = pylab.figure() +fig.add_axes([0.1,0.1,0.8,0.8],axisbg='aqua') +# create map by specifying width and height in km. +resolution = 'l' +lon_0 = -50 +lat_0 = 60 +projection = 'lcc' +width = 12000000 +height = 0.75*width +m = Basemap(lon_0=lon_0,lat_0=lat_0,\ + width=width,height=height,\ + resolution=resolution,projection=projection) +# lat/lon and name of location 1. +lat1 = XX +lon1 = XX +name1 = XX +# ditto for location 2. +lat2 = XX +lon2 = XX +name2 = XX +# convert these points to map projection coordinates +# (using __call__ method of Basemap instance) +x1, y1 = m(lon1, lat1) +x2, y2 = m(lon2, lat2) +# plot black dots at the two points. +# make sure dots are drawn on top of other plot elements (zorder=10) +m.scatter([x1,x2],[y1,y2],25,color='k',marker='o',zorder=10) +# connect the dots along a great circle. +m.drawgreatcircle(lon1,lat1,lon2,lat2,linewidth=2,color='k') +# put the names of the cities to the left of each dot, offset +# by a little. Use a bold font. +pylab.text(x1-100000,y1+100000,name1,fontsize=12,\ + color='k',horizontalalignment='right',fontweight='bold') +pylab.text(x2-100000,y2+100000,name2,fontsize=12,\ + color='k',horizontalalignment='right',fontweight='bold') +m.drawcoastlines(linewidth=0.5) +m.fillcontinents(color='coral') +m.drawcountries() +m.drawstates() +pylab.title(name1+' to '+name2+' Great Circle') +pylab.show() Added: trunk/py4science/examples/skel/basemap4_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap4_skel.py (rev 0) +++ trunk/py4science/examples/skel/basemap4_skel.py 2007-11-23 13:38:18 UTC (rev 4424) @@ -0,0 +1,35 @@ +import pylab, numpy +from matplotlib.toolkits.basemap import Basemap +# create figure. +# background color will be used for 'wet' areas. +fig = pylab.figure() +fig.add_axes([0.1,0.1,0.8,0.8],axisbg='aqua') +# create map by specifying width and height in km. +resolution = 'l' +lon_0 = -50 +lat_0 = 60 +projection = 'lcc' +width = 12000000 +height = 0.75*width +m = Basemap(lon_0=lon_0,lat_0=lat_0,\ + width=width,height=height,\ + resolution=resolution,projection=projection) +m.drawcoastlines(linewidth=0.5) +m.fillcontinents(color='coral') +m.drawcountries() +m.drawstates() +# draw and label parallels. +# labels is list of 4 values (default [0,0,0,0]) that control whether +# parallels are labelled where they intersect the left, right, top or +# bottom of the plot. For example labels=[1,0,0,1] will cause parallels +# to be labelled where they intersect the left and bottom of the plot, +# but not the right and top. +labels = XX +parallels = XX # a sequence of latitudes values +m.drawparallels(parallels,labels=labels) +# draw and label meridians. +labels = XX +meridians = XX # a sequence of longitude values +m.drawmeridians(meridians,labels=labels) +pylab.title('labelled meridians and parallels',y=1.075) +pylab.show() Added: trunk/py4science/examples/skel/basemap5_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap5_skel.py (rev 0) +++ trunk/py4science/examples/skel/basemap5_skel.py 2007-11-23 13:38:18 UTC (rev 4424) @@ -0,0 +1,45 @@ +from matplotlib.toolkits.basemap import Basemap, NetCDFFile, cm +import pylab, numpy +from numpy import ma + +# read in netCDF sea-surface temperature data +ncfile = NetCDFFile('data/sst.nc') +sstv = ncfile.variables['analysed_sst'] +sst = ma.masked_values(numpy.squeeze(sstv[:]), sstv._FillValue) +sst = sstv.scale_factor*sst + sstv.add_offset +lats = ncfile.variables['lat'][:] +lons = ncfile.variables['lon'][:] +print sst.shape, sst.min(), sst.max() + +# make sure middle of map region is middle of data grid. +lon_0 = lons.mean() +lat_0 = lats.mean() +# set colormap +#cmap = pylab.cm.gist_ncar +# Basemap comes with extra colormaps from Generic Mapping Tools +# (imported as cm, pylab colormaps in pylab.cm) +cmap = XX +# set so masked values in an image will be painted specified color +# (i.e. continents will be painted this color) +color = XX +cmap.set_bad(color) +# create Basemap instance for mollweide projection. +projection = XX # try moll, robin, sinu or ortho. +# coastlines not used, so resolution set to None to skip +# continent processing (this speeds things up a bit) +m = Basemap(projection=projection,lon_0=lon_0,lat_0=lat_0,resolution=None) +# compute map projection coordinates of grid. +x, y = m(*numpy.meshgrid(lons, lats)) +# plot with contour +#CS = m.contour(x,y,sst,20,linewidths=0.5,colors='k') +#CS = m.contourf(x,y,sst,20,cmap=cmap) +# plot with pcolor +im = m.pcolormesh(x,y,sst,shading='flat',cmap=cmap) +# draw parallels and meridians, but don't bother labelling them. +m.drawparallels(numpy.arange(-90.,120.,30.)) +m.drawmeridians(numpy.arange(0.,420.,60.)) +# draw line around map projection limb. +m.drawmapboundary() +# draw horizontal colorbar. +pylab.colorbar(orientation='horizontal') +pylab.show() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <js...@us...> - 2007-12-03 14:41:22
|
Revision: 4559 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4559&view=rev Author: jswhit Date: 2007-12-03 06:41:11 -0800 (Mon, 03 Dec 2007) Log Message: ----------- cleanup basemap examples. Modified Paths: -------------- trunk/py4science/examples/skel/basemap1_skel.py trunk/py4science/examples/skel/basemap2_skel.py trunk/py4science/examples/skel/basemap3_skel.py trunk/py4science/examples/skel/basemap4_skel.py trunk/py4science/examples/skel/basemap5_skel.py Modified: trunk/py4science/examples/skel/basemap1_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap1_skel.py 2007-12-03 13:27:16 UTC (rev 4558) +++ trunk/py4science/examples/skel/basemap1_skel.py 2007-12-03 14:41:11 UTC (rev 4559) @@ -1,8 +1,5 @@ import pylab, numpy from matplotlib.toolkits.basemap import Basemap - -# create figure. -fig = pylab.figure() # create map by specifying lat/lon values at corners. projection = 'lcc' # map projection resolution = XX # resolution of boundaries ('c','l','i',or 'h') Modified: trunk/py4science/examples/skel/basemap2_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap2_skel.py 2007-12-03 13:27:16 UTC (rev 4558) +++ trunk/py4science/examples/skel/basemap2_skel.py 2007-12-03 14:41:11 UTC (rev 4559) @@ -1,8 +1,5 @@ import pylab, numpy from matplotlib.toolkits.basemap import Basemap, supported_projections - -# create figure. -fig = pylab.figure() # create map by specifying width and height in km. projection = XX # map projection ('lcc','stere','laea','aea' etc) # 'print supported_projections' gives a list Modified: trunk/py4science/examples/skel/basemap3_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap3_skel.py 2007-12-03 13:27:16 UTC (rev 4558) +++ trunk/py4science/examples/skel/basemap3_skel.py 2007-12-03 14:41:11 UTC (rev 4559) @@ -1,27 +1,15 @@ import pylab, numpy from matplotlib.toolkits.basemap import Basemap - -# create figure. -# background color will be used for 'wet' areas. -fig = pylab.figure() # create map by specifying width and height in km. -resolution = 'l' -lon_0 = -50 -lat_0 = 60 -projection = 'lcc' -width = 12000000 -height = 0.75*width -m = Basemap(lon_0=lon_0,lat_0=lat_0,\ - width=width,height=height,\ +resolution = 'l'; projection='lcc' +lon_0 = -50; lat_0 = 60. +width = 12000000; height = 0.75*width +m = Basemap(lon_0=lon_0,lat_0=lat_0,width=width,height=height,\ resolution=resolution,projection=projection) # lat/lon and name of location 1. -lat1 = XX -lon1 = XX -name1 = XX +lat1 = XX; lon1 = XX; name = XX # ditto for location 2. -lat2 = XX -lon2 = XX -name2 = XX +lat2 = XX; lon2 = XX; name2 = XX # convert these points to map projection coordinates # (using __call__ method of Basemap instance) x1, y1 = m(lon1, lat1) Modified: trunk/py4science/examples/skel/basemap4_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap4_skel.py 2007-12-03 13:27:16 UTC (rev 4558) +++ trunk/py4science/examples/skel/basemap4_skel.py 2007-12-03 14:41:11 UTC (rev 4559) @@ -1,16 +1,10 @@ import pylab, numpy from matplotlib.toolkits.basemap import Basemap -# create figure. -fig = pylab.figure() # create map by specifying width and height in km. -resolution = 'l' -lon_0 = -50 -lat_0 = 60 -projection = 'lcc' -width = 12000000 -height = 0.75*width -m = Basemap(lon_0=lon_0,lat_0=lat_0,\ - width=width,height=height,\ +resolution = 'l'; projection='lcc' +lon_0 = -50; lat_0 = 60. +width = 12000000; height = 0.75*width +m = Basemap(lon_0=lon_0,lat_0=lat_0,width=width,height=height,\ resolution=resolution,projection=projection) m.drawcoastlines(linewidth=0.5) m.drawmapboundary(fill_color='aqua') Modified: trunk/py4science/examples/skel/basemap5_skel.py =================================================================== --- trunk/py4science/examples/skel/basemap5_skel.py 2007-12-03 13:27:16 UTC (rev 4558) +++ trunk/py4science/examples/skel/basemap5_skel.py 2007-12-03 14:41:11 UTC (rev 4559) @@ -1,16 +1,13 @@ from matplotlib.toolkits.basemap import Basemap, NetCDFFile, cm import pylab, numpy - # read in netCDF sea-surface temperature data # can be a local file, a URL for a remote opendap dataset, # or (if PyNIO is installed) a GRIB or HDF file. +# See http://nomads.ncdc.noaa.gov/ for some NOAA OPenDAP datasets. ncfile = NetCDFFile('data/sst.nc') sst = ncfile.variables['analysed_sst'][:] lats = ncfile.variables['lat'][:] lons = ncfile.variables['lon'][:] - -print sst.shape, sst.min(), sst.max() - # Basemap comes with extra colormaps from Generic Mapping Tools # (imported as cm, pylab colormaps in pylab.cm) cmap = XX @@ -23,6 +20,8 @@ x, y = m(*numpy.meshgrid(lons, lats)) # plot with pcolor im = m.pcolormesh(x,y,sst,shading='flat',cmap=cmap) +# or try 100 filled contours. +#CS = m.contourf(x,y,sst,100,cmap=cmap) # draw parallels and meridians, but don't bother labelling them. m.drawparallels(numpy.arange(-90.,120.,30.)) m.drawmeridians(numpy.arange(0.,420.,60.)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |