Hello,

I would like to ask for some hints
and help. I am currently trying to plot a "pseudo contour" over a Basemap. This 
contour is confined by borders obtained from a shapefile. I can generate the 
contour, I can retrieve the shapefile and put them on a basemap. What I have 
not been able to do is to limit the contour plot such that it only fills the 
area defined by a shapefile (in my case it is bordered by Province Lampung). 
You can use different shapefile for example, as the point of my question is how 
to limit contour fill by a shapefile.

Shapefile can be downloaded from http://www.gadm.org/data/shp/IDN_adm.zip

The generated figure can be found here:
https://lh3.googleusercontent.com/-hMlwe6MAjdc/Tf6HlxYxn1I/AAAAAAAAAEY/exdzSv30ZL4/s640/to_matplotlib_userlists.png

Thanks for the help!
--
Lukmanul Hakim

Here's the code:
----------------
from pylab import cm
import matplotlib.pyplot as plt 
import numpy as np
from mpl_toolkits.basemap import Basemap

#Define area about Province Lampung
ulat, llat, ulon, llon = -2.5, -6.5, 107, 103
m = Basemap(projection='merc', lon_0=0.0, llcrnrlon=llon,
                     llcrnrlat=llat, urcrnrlon=ulon, urcrnrlat=ulat,
                     resolution='i')


#Read shapefile of Province Lampung
s = m.readshapefile('E:/Works/UNILA/Research/IDN_adm/LampungMap/LampungMap', 
'lampung')

#Define area for contour plot
llon1,ulon1 = 103,106
llat1,ulat1 = -6,-3.5

#Generate random data
nx,ny=5,5
data2 = np.random.sample((ny,nx))
x = np.linspace(llon1, ulon1, nx)      
y = np.linspace(llat1, ulat1, ny)
X,Y = np.meshgrid(x,y)
px,py = m(X,Y)
m.contourf(px, py, data2, cmap=cm.jet)
m.drawcoastlines()#(linewidth=0.5)
m.drawparallels(np.arange(-6.5,-2.5,1.),labels=[1,0,0,0],color='black',dashes=[1,0],labelstyle='+/-',linewidth=0.2)
 # draw parallels
m.drawmeridians(np.arange(102.,108.,1.),labels=[0,0,0,1],color='black',dashes=[1,0],labelstyle='+/-',linewidth=0.2)
 # draw meridians

plt.show()

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to