simon chou
2006-Feb-10 16:09 UTC
[R] the proper way to use panel functions in lattice package?
Hi, I was trying to stack a topographic map readed in from esri shapefile with a contour map and a vector map. However, the plotMap(maptools) and contourplot(lattice) do not seem to work well on top of each other. Here is part of my code. xrange<-range(225000:350000) yrange<-range(2685000:2810000) basemap <- read.shape("Twn25_town_dxf_Polygon.shp") plot.Map(basemap,xlim=xrange,ylim=yrange,fg=0,ol=8,xlab="",ylab="") contourplot(var1.pred~x+y, spcgrid, aspect = "xy",label.style="align") I have tried to put panel function under plot.Map() but it gave some error message about some argoument matches other arguments. >plot.Map (basemap,xlim=xrange,ylim=yrange,fg=0,ol=8,xlab="",ylab="",panel=function(x,y){ +contourplot(var1.pred~x+y, spcgrid, aspect = "xy",label.style"align")}) Error in plot.default(xylims$x,xylims$y, asp=1,type="n",...): argument 9 matches multiple formal arguments I also tried to put plotMap() into contourplot()'s panel but plotMap cover up the conour. Maybe, there is something I miss in here. What went wrong there? Also, is there any diffeence between contourplot(lattice) and counterLine(base)? These 2 functions seem to give difference contour from the same data set. contourplot(lattice) seem to give better looking contour than contourLine() or contour(). ps. I krige 1700+ simulated observations into 4000+ regular spaced data to get contour. Thanks in advance, simon [[alternative HTML version deleted]]
Deepayan Sarkar
2006-Feb-13 21:37 UTC
[R] the proper way to use panel functions in lattice package?
On 2/10/06, simon chou <sentientc at gmail.com> wrote:> Hi, > I was trying to stack a topographic map readed in from esri shapefile with a > contour map and a vector map. However, the plotMap(maptools) and > contourplot(lattice) do not seem to work well on top of each other. Here is > part of my code. > > > xrange<-range(225000:350000) > > yrange<-range(2685000:2810000) > > basemap <- read.shape("Twn25_town_dxf_Polygon.shp") > > plot.Map(basemap,xlim=xrange,ylim=yrange,fg=0,ol=8,xlab="",ylab="") > > > > contourplot(var1.pred~x+y, spcgrid, aspect = "xy",label.style="align") > > > > I have tried to put panel function under plot.Map() but it gave some error > message about some argoument matches other arguments. > > > > >plot.Map > (basemap,xlim=xrange,ylim=yrange,fg=0,ol=8,xlab="",ylab="",panel=function(x,y){ > > +contourplot(var1.pred~x+y, spcgrid, aspect = "xy",label.style> "align")}) > > Error in plot.default(xylims$x,xylims$y, asp=1,type="n",...): > > argument 9 matches multiple formal arguments > > > > I also tried to put plotMap() into contourplot()'s panel but plotMap cover > up the conour. Maybe, there is something I miss in here.Yes, namely that `standard graphics' (the 'graphics' package) functions (like plotMap) don't (easily) work with grid graphics (the 'grid' package) which lattice uses. Unfortunately, I have no idea if there are any grid compatible equivalents of plotMap.> What went wrong there? Also, is there any diffeence between > contourplot(lattice) and counterLine(base)? These 2 functions seem to give > difference contour from the same data set. contourplot(lattice) seem to give > better looking contour than contourLine() or contour().contourplot uses contourLines (which I assume is what you meant) internally, so any differences probably stem from the choice of default arguments.> > ps. I krige 1700+ simulated observations into 4000+ regular spaced data to > get contour.Deepayan