本文整理汇总了Python中matplotlib.toolkits.basemap.Basemap.drawcountries方法的典型用法代码示例。如果您正苦于以下问题:Python Basemap.drawcountries方法的具体用法?Python Basemap.drawcountries怎么用?Python Basemap.drawcountries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.toolkits.basemap.Basemap
的用法示例。
在下文中一共展示了Basemap.drawcountries方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: draw_client_density
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
def draw_client_density():
m = Basemap(llcrnrlon=-180.,llcrnrlat=-90,urcrnrlon=180.,urcrnrlat=90.,\
resolution='c',projection='cyl')
# plot them as filled circles on the map.
# first, create a figure.
dpi=100
dimx=800/dpi
dimy=400/dpi
fig=figure(figsize=(dimx,dimy), dpi=dpi, frameon=False, facecolor='blue')
# ax=fig.add_axes([0.1,0.1,0.7,0.7],axisbg='g')
ax=fig.add_axes([0.0,0.0,1.0,1.0],axisbg='g')
canvas = FigureCanvas(fig)
results = lookup_client_locations()
X,Y,Z = find_client_density(m,results)
# s = random.sample(results, 40000)
# for t in s:
# lat=t[2]
# lon=t[3]
# # draw a red dot at the center.
# xpt, ypt = m(lon, lat)
# m.plot([xpt],[ypt],'ro', zorder=10)
# draw coasts and fill continents.
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.5)
m.drawlsmask([100,100,100,0],[0,0,255,255])
# m.fillcontinents(color='green')
palette = cm.YlOrRd
m.imshow(Z,palette,extent=(m.xmin,m.xmax,m.ymin,m.ymax),interpolation='gaussian',zorder=0)
# l,b,w,h = ax.get_position()
# cax = axes([l+w+0.075, b, 0.05, h])
# colorbar(cax=cax) # draw colorbar
canvas.print_figure(outdir+'/clientmap.png', dpi=100)
示例2: draw_graph_on_map
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
def draw_graph_on_map(g, node2weight, node2pos, pic_title, pic_area=[-130,10,140,70], output_fname_prefix=None, need_draw_edge=0):
"""
2007-09-13
identity_pair_ls is a list of pairs of strains (ecotype id as in table ecotype)
2007-10-08
correct a bug in 4*diameter_ls, diameter_ls has to be converted to array first.
sqrt the node weight, 8 times the original weight
"""
import os, sys
sys.stderr.write("Drawing graph on a map ...\n")
import pylab, math
from matplotlib.toolkits.basemap import Basemap
pylab.clf()
fig = pylab.figure()
fig.add_axes([0.05,0.05,0.9,0.9]) #[left, bottom, width, height]
m = Basemap(llcrnrlon=pic_area[0],llcrnrlat=pic_area[1],urcrnrlon=pic_area[2],urcrnrlat=pic_area[3],\
resolution='l',projection='mill', ax=pylab.gca())
sys.stderr.write("\tDrawing nodes ...")
euc_coord1_ls = []
euc_coord2_ls = []
diameter_ls = []
for n in g.nodes():
lat, lon = node2pos[n]
euc_coord1, euc_coord2 = m(lon, lat) #longitude first, latitude 2nd
euc_coord1_ls.append(euc_coord1)
euc_coord2_ls.append(euc_coord2)
diameter_ls.append(math.sqrt(node2weight[n]))
import numpy
diameter_ls = numpy.array(diameter_ls)
m.scatter(euc_coord1_ls, euc_coord2_ls, 8*diameter_ls, marker='o', color='r', alpha=0.4, zorder=12, faceted=False)
sys.stderr.write("Done.\n")
if need_draw_edge:
sys.stderr.write("\tDrawing edges ...")
ax=pylab.gca()
for popid1, popid2, no_of_connections in g.edges():
lat1, lon1 = node2pos[popid1]
lat2, lon2 = node2pos[popid2]
x1, y1 = m(lon1, lat1)
x2, y2 = m(lon2, lat2)
ax.plot([x1,x2],[y1,y2], 'g', linewidth=math.log(no_of_connections+1)/2, alpha=0.2, zorder=10)
sys.stderr.write("Done.\n")
#m.drawcoastlines()
m.drawparallels(pylab.arange(-90,90,30), labels=[1,1,0,1])
m.drawmeridians(pylab.arange(-180,180,30), labels=[1,1,0,1])
m.fillcontinents()
m.drawcountries()
m.drawstates()
pylab.title(pic_title)
if output_fname_prefix:
pylab.savefig('%s.eps'%output_fname_prefix, dpi=600)
pylab.savefig('%s.svg'%output_fname_prefix, dpi=600)
pylab.savefig('%s.png'%output_fname_prefix, dpi=600)
del fig, m, pylab
sys.stderr.write("Done.\n")
示例3: draw_clustered_strain_location
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
def draw_clustered_strain_location(self, label_ls, weighted_pos_ls, diameter_ls, label_type, label_type2label_name, pic_area=[-180,-90,180,90], output_fname_prefix=None, label_name=None):
"""
2007-07-11
draw populations derived from connected_components of the strain network
#each pie denotes a population, with diameter proportional to the size of the population
#each pie labeled with the number of strains in that population
2007-07-13
use popid as label
2007-07-17
no parallels, no meridians
2007-08-29
copied from CreatePopulation.py
2007-09-11
add label name
2007-10-14
correct a bug in 5*diameter_ls. diameter_ls has to an array
"""
sys.stderr.write("Drawing population map...")
import pylab
from matplotlib.toolkits.basemap import Basemap
pylab.clf()
fig = pylab.figure()
fig.add_axes([0.05,0.05,0.9,0.9]) #[left, bottom, width, height]
m = Basemap(llcrnrlon=pic_area[0],llcrnrlat=pic_area[1],urcrnrlon=pic_area[2],urcrnrlat=pic_area[3],\
resolution='l',projection='mill')
euc_coord1_ls = []
euc_coord2_ls = []
ax=pylab.gca()
for i in range(len(weighted_pos_ls)):
lat, lon = weighted_pos_ls[i]
euc_coord1, euc_coord2 = m(lon, lat) #longitude first, latitude 2nd
euc_coord1_ls.append(euc_coord1)
euc_coord2_ls.append(euc_coord2)
ax.text(euc_coord1, euc_coord2, str(label_ls[i]), size=5, alpha=0.5, horizontalalignment='center', verticalalignment='center', zorder=12)
import numpy
diameter_ls = numpy.array(diameter_ls)
m.scatter(euc_coord1_ls, euc_coord2_ls, 5*diameter_ls, marker='o', color='r', alpha=0.3, zorder=10, faceted=False)
#m.drawcoastlines()
m.drawparallels(pylab.arange(-90,90,30), labels=[1,1,0,1]) #labels intersect the left, right, top bottom of the plot
m.drawmeridians(pylab.arange(-180,180,30), labels=[1,1,0,1])
m.fillcontinents()
m.drawcountries()
m.drawstates()
pylab.title("worldwide distribution of %s populations, labeled by %s"%(len(weighted_pos_ls), label_type2label_name[label_type]))
if output_fname_prefix:
pylab.savefig('%s_pop_map.eps'%output_fname_prefix, dpi=300)
pylab.savefig('%s_pop_map.svg'%output_fname_prefix, dpi=300)
pylab.savefig('%s_pop_map.png'%output_fname_prefix, dpi=300)
del m, pylab, Basemap
sys.stderr.write("Done.\n")
示例4: DrawSiteNetwork
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
def DrawSiteNetwork(self, g, node_label2pos_counts,pic_area=[-180,-90,180,90], output_fname_prefix=None):
"""
2007-07-17
put ax.plot() right after Basemap() but after m.xxx() so that it'll zoom in
use 'g' in ax.plot(), otherwise, ax.plot() alternates all colors.
no parallels, no meridians
2007-08-29 copied from CreatePopulation.py and renamed from DrawStrainNetwork
"""
sys.stderr.write("Drawing Site Network...")
import pylab
from matplotlib.toolkits.basemap import Basemap
pylab.clf()
fig = pylab.figure()
fig.add_axes([0.05,0.05,0.9,0.9]) #[left, bottom, width, height]
m = Basemap(llcrnrlon=pic_area[0],llcrnrlat=pic_area[1],urcrnrlon=pic_area[2],urcrnrlat=pic_area[3],\
resolution='l',projection='mill')
ax=pylab.gca()
for e in g.edges():
lat1, lon1 = node_label2pos_counts[e[0]][0]
lat2, lon2 = node_label2pos_counts[e[1]][0]
x1, y1 = m(lon1, lat1)
x2, y2 = m(lon2, lat2)
ax.plot([x1,x2],[y1,y2], 'g', alpha=0.5, zorder=12)
#m.drawcoastlines()
m.drawparallels(pylab.arange(-90,90,30), labels=[1,1,0,1])
m.drawmeridians(pylab.arange(-180,180,30), labels=[1,1,0,1])
m.fillcontinents()
m.drawcountries()
m.drawstates()
pylab.title("Network of strains")
if output_fname_prefix:
pylab.savefig('%s_site_network.eps'%output_fname_prefix, dpi=300)
pylab.savefig('%s_site_network.svg'%output_fname_prefix, dpi=300)
pylab.savefig('%s_site_network.png'%output_fname_prefix, dpi=300)
del m, pylab, Basemap
sys.stderr.write("Done.\n")
示例5: len
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
# read shapefile.
shp_info = m.readshapefile('huralll020','hurrtracks',drawbounds=False)
print shp_info
# find names of storms that reached Cat 4.
names = []
for shapedict in m.hurrtracks_info:
cat = shapedict['CATEGORY']
name = shapedict['NAME']
if cat in ['H4','H5'] and name not in names:
if name != 'NOT NAMED': names.append(name)
print names
print len(names)
# plot tracks of those storms.
for shapedict,shape in zip(m.hurrtracks_info,m.hurrtracks):
name = shapedict['NAME']
cat = shapedict['CATEGORY']
if name in names:
xx,yy = zip(*shape)
# show part of track where storm > Cat 4 as thick red.
if cat in ['H4','H5']:
p.plot(xx,yy,linewidth=1.5,color='r')
elif cat in ['H1','H2','H3']:
p.plot(xx,yy,color='k')
# draw coastlines, meridians and parallels.
m.drawcoastlines()
m.drawcountries()
m.drawparallels(p.arange(10,70,20),labels=[0,1,0,0])
m.drawmeridians(p.arange(-100,0,20),labels=[0,0,0,1])
p.title('Atlantic Hurricane Tracks (Storms Reaching Category 4)')
p.show()
示例6: Basemap
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
"""
lon, lat = self.baseMap(0.0, y, inverse=True)
return "%g" % lat
m = Basemap(-180.,-80.,180.,80.,\
resolution='c',area_thresh=10000.,projection='merc',\
lat_ts=20.)
xsize = rcParams['figure.figsize'][0]
fig=figure(figsize=(xsize,m.aspect*xsize))
fig.add_axes([0.1,0.1,0.8,0.8])
ax = gca() # get current axis instance
ax.update_datalim(((m.llcrnrx, m.llcrnry),(m.urcrnrx,m.urcrnry)))
ax.set_xlim((m.llcrnrx, m.urcrnrx))
ax.set_ylim((m.llcrnry, m.urcrnry))
m.drawcoastlines(ax)
m.drawcountries(ax)
m.drawstates(ax)
m.fillcontinents(ax)
# draw parallels
delat = 30.
circles = arange(0.,90.,delat).tolist()+\
arange(-delat,-90,-delat).tolist()
m.drawparallels(ax,circles)
# convert parallels to native map projection coordinates
nativeCoordCircles = m([0]*len(circles), circles)[1]
ax.set_yticks(nativeCoordCircles)
ax.yaxis.set_major_formatter(MercYAxisFormatter(m))
# draw meridians
delon = 60.
lon1 = int(m.llcrnrlon/delon)*delon
lon2 = (int(m.urcrnrlon/delon)+1)*delon
示例7: zip
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
#Do the necessary processing for each analysis
contours = N.arange(5300., 6000., 60.0)
parallels = N.arange(25., 60.0, 10.0)
meridians = N.arange(-120., -60.0, 10.0)
fields = (cress1, cress2, cress3, cress_187, barnes_analyses[0],
barnes_analyses[1], barnes_analyses[2], barnes_3pass)
names = ('Cressman 1st Pass', 'Cressman 2nd Pass', 'Cressman 3rd Pass',
'Cressman R=1.87d', r'$\rm{Barnes} \gamma=1.0$',r'$\rm{Barnes} \gamma=0.4$',
r'$\rm{Barnes} \gamma=0.2$', r'$\rm{Barnes 3-pass} \gamma=1.0$')
filenames = ('cress1', 'cress2', 'cress3', 'cress187', 'barnes1', 'barnes2',
'barnes3', 'barnes3pass')
for field,name,filename in zip(fields, names, filenames):
f = P.figure()
bm_ps.drawstates()
bm_ps.drawcountries()
bm_ps.drawcoastlines()
bm_ps.drawparallels(parallels, labels = [1,1,0,0])
bm_ps.drawmeridians(meridians, labels = [0,0,1,1])
cp = bm_ps.contour(x_bm, y_bm, field, contours, cmap=colormap)
P.clabel(cp, fontsize=fontsize, fmt='%.1f')
f.text(0.5,0.95,name,horizontalalignment='center',fontsize=16)
if save_work:
P.savefig(filename + '.png', dpi = 300)
else:
P.show()
filename = 'cress12diff'
f = P.figure()
bm_ps.drawstates()
bm_ps.drawcountries()
示例8: arange
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
arange(-delat,-90.-delat,-delat).tolist()
delon = 30.
meridians = arange(10.,360.,delon)
npanel = 0
# plots of the US.
projs = ['lcc','aeqd','aea','laea','eqdc','stere']
fig = figure(figsize=(8,12))
for proj in projs:
m = Basemap(width=width,height=height,
resolution='c',projection=proj,\
lat_0=lat_0,lon_0=lon_0)
npanel = npanel + 1
subplot(3,2,npanel)
# setup figure with same aspect ratio as map.
m.drawcoastlines()
m.drawcountries()
m.fillcontinents()
m.drawstates()
m.drawparallels(circles)
m.drawmeridians(meridians)
title('proj = '+proj+' centered on %sW, %sN' % (lon_0,lat_0),fontsize=10)
show()
proj = 'omerc'
delat = 10.
circles = arange(0.,90.+delat,delat).tolist()+\
arange(-delat,-90.-delat,-delat).tolist()
delon = 10.
meridians = arange(10.,360.,delon)
lat_1 = 40; lat_2 = 55
lon_1 = -120; lon_2 = -140
示例9: test_drawMap
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
def test_drawMap(self):
sys.stderr.write("Drawing graph on a map ...\n")
#import pdb
#pdb.set_trace()
import StockDB, Stock_250kDB #StockDB has to be setup otherwise, StockDB.Ecotype.table is None in getEcotypeInfo()
hostname='papaya.usc.edu'
dbname='stock_250k'
db_user='yh'
db_passwd = ''
drivername='mysql'
schema = None
db = Stock_250kDB.Stock_250kDB(drivername=drivername, username=db_user,
password=db_passwd, hostname=hostname, database=dbname, schema=schema)
#doesn't matter which database to connect as far as StockDB is imported
#db = StockDB.StockDB(drivername=drivername, username=db_user,
# password=db_passwd, hostname=hostname, database=dbname, schema=schema)
db.setup(create_tables=False)
from common import getEcotypeInfo
ecotype_info = getEcotypeInfo(db)
from matplotlib.toolkits.basemap import Basemap
#from mpl_toolkits.basemap import Basemap
import pylab
from matplotlib import rcParams
rcParams['font.size'] = 6
rcParams['legend.fontsize'] = 6
#rcParams['text.fontsize'] = 6 #deprecated. use font.size instead
rcParams['axes.labelsize'] = 4
rcParams['axes.titlesize'] = 8
rcParams['xtick.labelsize'] = 4
rcParams['ytick.labelsize'] = 4
pylab.clf()
#fig = pylab.figure()
#fig.add_axes([0.05,0.05,0.9,0.9]) #[left, bottom, width, height]
axe_map = pylab.axes([0.5, 0.02, 0.4, 0.8], frameon=False)
axe_map.set_title("Global Arabidopsis Ecotype Distribution")
axe_map.set_xlabel('ecotype is drawn as circles.')
axe_map.set_ylabel('strains')
pic_area=[-140,-40,140,70]
m = Basemap(llcrnrlon=pic_area[0],llcrnrlat=pic_area[1],urcrnrlon=pic_area[2],urcrnrlat=pic_area[3],\
resolution='l',projection='mill', ax=axe_map)
"""
llcrnrx = -self.rmajor
llcrnry = -self.rmajor
urcrnrx = -llcrnrx
urcrnry = -llcrnry
"""
#m.drawcoastlines()
#m.bluemarble()
m.drawparallels(pylab.arange(-90,90,30), labels=[1,1,0,1], size=4, linewidth=0.1)
m.drawmeridians(pylab.arange(-180,180,30), labels=[1,1,0,1], size=4, linewidth=0.1)
m.fillcontinents()
m.drawcountries(linewidth=0.1)
#m.drawstates()
#m.drawlsmask((0,255,0,255), (0,0,255,255), lakes=True)
#m.drawlsmask('coral','aqua',lakes=True)
print "xlim:", axe_map.get_xlim()
print "ylim:", axe_map.get_ylim()
xlim = axe_map.get_xlim()
ylim = axe_map.get_ylim()
"""
for strain_id in StrainID2PCAPosInfo.strain_id_ls:
img_y_pos = StrainID2PCAPosInfo.strain_id2img_y_pos[strain_id]
phenotype_row_index = phenData.row_id2row_index[strain_id]
phenotype = phenData.data_matrix[phenotype_row_index][phenotype_col_index]
ecotype_id = int(strain_id)
ecotype_obj = ecotype_info.ecotype_id2ecotype_obj.get(ecotype_id)
if ecotype_obj:
lat, lon = ecotype_obj.latitude, ecotype_obj.longitude
else:
sys.stderr.write("Warning: Ecotype %s not in ecotype_info (fetched from stock db).\n"%ecotype_id)
continue
if lat and lon:
x, y = m(lon, lat)
color = cmap(norm(phenotype))
ax.plot([0, x], [img_y_pos, y], linestyle='--', alpha=0.2, linewidth=0.2)
ax.scatter([x],[y], s=10, linewidth=0, facecolor=color) #, zorder=10)
"""
#pylab.title("Global Arabidopsis Ecotype Distribution")
output_fname_prefix = '/tmp/map'
print "ylim:", axe_map.get_ylim()
axe_map.set_xlim(xlim)
axe_map.set_ylim(ylim)
axe_chromosome = pylab.axes([0.05, 0.02, 0.8, 0.8], frameon=False)
axe_chromosome.set_title("chromosome")
#fix the two transformations before doing cross-axe drawings
axe_map.transData.freeze() # eval the lazy objects
axe_map.transAxes.freeze()
axe_chromosome.transData.freeze() # eval the lazy objects
axe_chromosome.transAxes.freeze()
#.........这里部分代码省略.........
示例10:
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
x_bm,y_bm = ps2.to_basemap_xy(m2, x_grid / cm_per_m, y_grid / cm_per_m)
#Radius factor used in all of the analyses
R = 4.32
heights_cress = oban.analyze_grid(data.heights, x_grid, y_grid, data.x, data.y,
oban.cressman_weights, R)
contours = N.arange(5300., 6000., 60.0)
parallels = N.arange(25., 60.0, 10.0)
meridians = N.arange(-120., -60.0, 10.0)
##m2.drawstates()
##m2.drawcountries()
##m2.drawcoastlines()
##m2.drawparallels(parallels, labels = [1,1,0,0])
##m2.drawmeridians(meridians, labels = [0,0,1,1])
ob_x, ob_y = ps2.to_basemap_xy(m2, data.x / cm_per_m, data.y / cm_per_m)
#m2.plot(ob_x, ob_y, 'bx')
#m2.plot(x_bm, y_bm, 'g.')
for name in M.cm.cmapnames:
f = P.figure()
m2.drawstates()
m2.drawcountries()
m2.drawcoastlines()
m2.drawparallels(parallels, labels = [1,1,0,0])
m2.drawmeridians(meridians, labels = [0,0,1,1])
c = m2.contour(x_bm, y_bm, heights_cress, contours, cmap=M.cm.get_cmap(name))
P.title(name)
#P.clabel(c)
P.show()
示例11: figure
# 需要导入模块: from matplotlib.toolkits.basemap import Basemap [as 别名]
# 或者: from matplotlib.toolkits.basemap.Basemap import drawcountries [as 别名]
ur_lon = 48.45
ur_lat = 0.2
lon_0 = 0.0
satellite_height = 35785831.0
fig = figure(figsize=(7,7))
ax = fig.add_axes((0.1,0.1,0.8,0.8))
# create Basemap instance for a Geostationary projection.
m = Basemap(projection='geos', lon_0=lon_0, satellite_height=satellite_height,
resolution='l', llcrnrlon=ll_lon, llcrnrlat=ll_lat, urcrnrlon=ur_lon, urcrnrlat=ur_lat)
# add data
m.imshow(data, cmap=cm.gray, interpolation='nearest')
clim(0, 255)
# draw coastlines.
m.drawcoastlines(linewidth=0.5, color=overlay_color)
m.drawcountries(linewidth=0.5, color=overlay_color)
# can't label meridians on bottom, because labels would
# be outside map projection region.
m.drawmeridians(arange(10,76,5), labels=[0,0,1,0], color=overlay_color)
m.drawparallels(arange(-90,90,5), labels=[1,0,0,0], color=overlay_color)
# add a colobar
#colorbar()
# add timestamp and save
fig = gcf()
fig.text(x=0.275, y=0.025, s=u'Meteosat-9 VIS 0.6 channel - 12:00 UTC 04/06/2007\n \N{COPYRIGHT SIGN} EUMETSAT 2007',
horizontalalignment='left',
verticalalignment='bottom',
fontsize=10,
fontweight='bold',
bbox=dict(facecolor='gray', alpha=0.25, pad=15))
fig.set_size_inches((8, 6))