Hello, List,

 

I am a new user of the R project, and I need some help in plotting a legend.
I am using the PBSmapping library to plot map of Ohio and heat color it with
the count of employees in each county. As a guide, I am using "Data Mashups
in R." I am able to plot the map with the colors; however, I would like to
put a legend with a single box full of these colors, but only show the max
and the min value on the left corner and the right corner respectively. 

 

Here's a  part of the code I am using:

#empdata has the employee data with the latitude and longitude for each
employee

library(PBSmapping)

addressEvents<-as.EventData(empdataRC,projection=NA)

#myShapeFile is a shape file of Ohio imported using importShapefile

addressPolys<-findPolys(addressEvents,myShapeFile) 

 

myTrtFC<-
table(factor(addressPolys$PID,levels=levels(as.factor(myShapeFile$PID)))) 

log(myTrtFC)->lTrt

mapColors<-heat.colors(max(lTrt)+1,alpha=.6)[max(lTrt)-lTrt+1] 

mapColors[ is.na(mapColors) ] <- "white"

pdf("RC-Employees.pdf",version="1.4")

plotPolys(myShapeFile,axes=FALSE,bg="white",main=" Employees
",xlab="",ylab="",col=mapColors) 

#here is the current legend, but as you can see, the colors and the box
count doesn't match

#i would like to see only one box with the gradients of the colors that I
used, and the max and the min value on top. I even tried a rectangle but I
could not plot it

legend("topleft",legend=seq(max(myTrtFC), 0, length.out=5),
fill=heat.colors(max(myTrtFC)+1,alpha=.6),    title="Headcount",
horiz=TRUE,cex=.5,bty="n")

 

Thanks.

 


	[[alternative HTML version deleted]]


