On Sun, 19 Oct 2014 08:09:28 AM Camilo Mora wrote: > Hi everyone, > > This may be a trivial solution but I would appreciate any help. > > I have a database with three variables. I would like to plot the first two > variables in a xy plot making the color of points proportional to the > values in the third variable. Given that many points overlap, I decided to > use the hexbin package, which allows aggregating the points by a third > variable. I figured out how to make the sums by hexbins but I am falling > short in how to link the sums back to the hexbins and then plot the hexbins > color coded by the sums?. Below is the code so far. > > Thanks, > > Camilo > > > > library(hexbin) > > > #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) > > #sum values of points inside hexbins > SumHexBin<-hexTapply(hbin, dat$z, sum) > > > #the question is how to link the SumHexBin back to the hbin and then plot it > color coding bins by the sums? > Hi Camilo, The color.scale function (plotrix) will convert numeric values into colors in a number of ways. I think you want the names of SumHexBin as numbers, so a simple way is:
library(plotrix) hbincol<-color.scale(as.numeric(names(SumHexBin)), extremes=c("red","green")) Jim ______________________________________________ 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.