2

I have a raster r, one polygon shapefile regions and a point shapefile cities. I need to plot all three into one map layout. In addition to this I need to label point file with names of cities (cities$city$Town.Name) and their temperature and precipitation value (assigned as cities$labels). So I have used the following code with packages 'raster' and 'rasterVis'.

p1<-levelplot(regions.r,par.settings=mytheme,scales=list(draw=FALSE),xlab="",ylab="",margin=F)+
  layer(sp.polygons(regions))+
          layer(sp.points(cities,pch=20,cex=1.5,col="black"))
p1+
  layer(sp.text(coordinates(cities), txt = cities$city$Town.Name, pos = 3,col="black",font=list(face="bold"),cex=0.8))+
  layer(sp.text(coordinates(cities),txt = cities$label,
                pos = 1,cex=0.6,col="black"))#Add shapefile labels

This works fine when area has scattered cities distribution (see figure below). enter image description here However, if the cities are concentrated in one part I experience overlap of labels (see figure below). Is there a way to avoid the label overlap? enter image description here

www
  • 38,575
  • 12
  • 48
  • 84
rar
  • 894
  • 1
  • 9
  • 24

0 Answers0