KURT PETERS wrote: > Jeff, > Do you think it's possible the names or CITIESX020 variable are not > being brought in in the right order? > I modified my code to use scatter, and, although it looks like the > dots are in the right place, the names aren't matching? > see code: > ========= > import pylab as p > import numpy > from matplotlib.toolkits.basemap import Basemap as Basemap > from matplotlib.colors import rgb2hex > from matplotlib.patches import Polygon > > # Lambert Conformal map of lower 48 states. > # create new figure > #http://nationalatlas.gov/metadata/citiesx020.faq.html > #http://nationalatlas.gov/atlasftp.html?openChapters=chpref#chpref > fig=p.figure() > m1 = Basemap(llcrnrlon=-119,llcrnrlat=22,urcrnrlon=-64,urcrnrlat=49,\ > projection='lcc',lat_1=33,lat_2=45,lon_0=-95,resolution='c') > shp_info = > m1.readshapefile(r'C:\Python25\Lib\basemap-0.9.9.1\examples\citiesx020','states',drawbounds=True) > > > > ax=p.gca() > > #define SHPT_POINT 1 Points > #define SHPT_ARC 3 Arcs (Polylines, possible in parts) > #define SHPT_POLYGON 5 Polygons (possible in parts) > #define SHPT_MULTIPOINT 8 MultiPoint (related points) > print shp_info > print m1.states_info[0].keys() > seqnum={} > criteriatodisplay=[] > names={} > ii=0 > for shapedict in m1.states_info: > if int(shapedict['POP_2000'])>100000: > #'STATE_FIPS', 'NAME', 'POP_2000', 'FEATURE', 'COUNTY', 'STATE', > 'FIPS', 'CITIESX020', 'FIPS55', 'DISPLAY', 'POP_RANGE'] > print 'STATE_FIPS = %s, NAME = %s, POP_2000=%s, FEATURE = %s, > COUNTY=%s, STATE=%s, FIPS=%s, CITIESX020 = %s, FIPS55=%s, DISPLAY=%s, > POP_RANGE=%s' %\ > (str(shapedict['STATE_FIPS']), str(shapedict['NAME']), > str(shapedict['POP_2000']), str(shapedict['FEATURE']), > str(shapedict['COUNTY']), str(shapedict['STATE']), > str(shapedict['FIPS']), str(shapedict['CITIESX020']), > str(shapedict['FIPS55']), str(shapedict['DISPLAY']), > str(shapedict['POP_RANGE'])) > # have an index of the names > seqnum[shapedict['CITIESX020']]=shapedict['NAME'] > criteriatodisplay.append(shapedict['CITIESX020']) > > ii+=1 > > print ii > #x, y = zip(*m1.states) > #print m1.states[1] > #print x[1] > #print y[1] > #ii=0 > x=[] > y=[] > ii=0 > for nshape,seg in enumerate(m1.states): > if nshape in criteriatodisplay: > x.append(seg[0]) > y.append(seg[1]) > p.text(seg[0],seg[1],seqnum[nshape],fontsize=12) > ii+=1 > > #print 'Shape num %s, coords=%s' % (seqnum[nshape], seg) > # ax.annotate(seqnum[nshape],seg) > m1.scatter(x,y,2,'b',marker='o',faceted=False,zorder=10) > > #ax.annotate(s='s',xy=(int(x),int(y))) > #p.figtext(x,y,'o',weight='heavy', size = 16) > m1.drawcoastlines() > m1.fillcontinents() > m1.drawcountries() > m1.drawstates() > m1.drawparallels(numpy.arange(25,65,4),labels=[1,0,0,0]) > m1.drawmeridians(numpy.arange(-120,-40,4),labels=[0,0,0,1]) > p.title('Test Cities') > p.show() > ======== > kurt > > <snip> > > Kurt: If I look at the least entry in m.states_info (Newport, VT), the corresponding x,y location in m.states corresponds to 44.93N, -72.21W, which looks about right to me. I guess I'm still not clear on what the issue is. Could you distill your example code down to something very simple that clearly demonstrates the problem?
-Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : [EMAIL PROTECTED] 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users