I figure out a way to display the hexbins color coded proportional to a third 
attribute of the points falling on a given hexbin. I share it for future 
reference or in case anyone has a way to improve it.

Cheers

C

------------------------------------
library(plotrix)
library(hexbin)

#creates a scale of colors
myColorRamp <- function(colors, values) {
    v <- (values - min(values))/diff(range(values))
    x <- colorRamp(colors)(v)
    rgb(x[,1], x[,2], x[,3], maxColorValue = 255)
}

#generates data for three variables
dat=data.frame( x = c(rep(1:10,3)), y = c(rep(1:10,3)), z = c(rep(1:10,3)))

#generates hexbin with the x and y variables
hbin<-hexbin(dat$x, dat$y, xbins=10, IDs=TRUE)

#sums points falling inside bin
SumHexBin<-data.frame(sums=hexTapply(hbin, dat$z, sum))

#do color scale based on values of points in a third variable
cols <- myColorRamp(c("white","green","yellow", "red"), SumHexBin$sums)

## setup coordinate system of the plot
P <- plot(hbin, type="n",legend=FALSE)# asp=1

##add hexagons (in the proper viewport):
pushHexport(P$plot.vp)

#plots hexbins based on colors of third column
grid.hexagons(hbin, style= "lattice", border = gray(.9), pen = cols,  minarea = 
1, maxarea = 1)

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to