底图:用图形和地图创建图形

时间:2012-05-31 14:39:33

标签: python matplotlib

我正在使用底图创建地图,并希望在同一图中放置图表。 到现在为止我做到了这一点:

m = Basemap(projection='merc',llcrnrlat=-32.5,urcrnrlat=-10,llcrnrlon=-57.5,urcrnrlon=-40,lat_ts=20,resolution='c')
x, y = m(lon, lat) # compute map proj coordinates.
parallels = np.arange(-50.,20,5.)
meridians = np.arange(-90.,0.,5.)
m.drawparallels(parallels,labels=[1,0,0,0],fontsize=10)
m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10)
m.scatter(x,y,s=abs(100.*np.array(correlacoes[i])),c=correlacoes[i],norm=mc.Normalize(vmin=-1.0,vmax=1.0))
m.drawcoastlines()
m.colorbar()
pyl.title(nomvar + ' cp ' + str(i+1) + '   v.e. %5.2f' % varexp[i])
pyl.savefig(dir_pro+projeto+arquivo + '_cp%3.3i' % (i+1) + '.png')   
pyl.clf()    
pyl.plot(indicesfs,fs[i])
pyl.title(nomvar + ' cp ' + str(i+1) + '   v.e. %5.2f' % varexp[i])
pyl.savefig(dir_pro+projeto+arquivo + '_fs%3.3i' % (i+1) + '.png')   
pyl.clf()

但是这样我有两个数字,我想把两个(图形和地图)放在同一个数字中 有没有办法调整地图和图形位置并获得这个? 谢谢!

2 个答案:

答案 0 :(得分:1)

我可能误解了你的问题,但你可以在matplotlib中使用subplot()在同一个数字上产生多个图。

答案 1 :(得分:0)

您是否尝试使用m.plot()而不是pyl.plot()? (并且之间没有clf())