Dear users, I would like to plot several histograms superimposed on the same panel with different colors, with superimposed polygons appearing with transparency effects. I also want estimated densities to appear on the same plot. For several reasons, including that I like it, I want to use the lattice package.
I have several questions regarding the use of the 'histogram' function with a group structure. I first thought that defining well-chosen values of alpha in trellis parameters would give the transparency effets, but this is not the case: library(lattice) # Some data x = c(rnorm(100), rnorm(100,2), rnorm(100,4)) grouping = gl(3,100,300) # Trellis parameters trellis.par.set("superpose.polygon"=list(alpha=rep(.5,3))) histogram(~x ,groups=grouping, type = "density", panel = "panel.superpose", panel.groups = function(x,...) { panel.histogram(x,...) panel.mathdensity(dmath=dnorm,args = list(mean=mean(x),sd=sd(x)),...) }) Besides transparency, I get no filling colors at all in the, even though plot.polygon and superpose.polygon parameters are set. I clearly need to define my own colors with alpha channel set: mycolors = rgb(c(228, 55, 77), c(26, 126, 175), c(28, 184, 74),alpha = 50,maxColorValue = 255) ... and include 'mycolors' as an explicit argument in the histogram function: histogram(~x ,groups=grouping, type = "density",ylim=c(0,.45), panel = "panel.superpose",col=mycolors, auto.key=list(space="right",rectangles=FALSE,col=mycolors), panel.groups = function(x,...) { panel.histogram(x,...) panel.mathdensity(dmath=dnorm, args=list(mean=mean(x),sd=sd(x)),...) }) -> First question: Is it the only mean to get histogram bars filled, or do I do something wrong in the use of trellis.arg.set ? The problem with the previous approach is that the 'col' argument also affects the density curves colors, for which I don't want transparency effects. The 'col.lines' argument doesn't seem to change anything. Removing the (...) arguments is not an interesting option, as it suppresses some useful parameters for histograms (breaks, etc.). -> Second question: How do I get superimposed density curves with colors that differ from the bar colors (i.e. here: No transparency effects)? -> Third question: How do I find nice (and common) ylim values for the three histograms? I have set ylim=c(0,.45) above by hand, but I would like to see this calibrated beforehand. Adding a prepanel function is probably the way to go, but I am not sure how to manage this. -> Fourth question: I would like the bar borders to have colors that also vary from group to group, but unlike the 'col=' argument, adding a 'border=mycolors' argument in the histogram function call change colors from bar to bar! Thank you very much in advance. Best wishes, Yvonnick Noel, PhD. University of Brittany, Rennes France ______________________________________________ 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.