Hi Yvonnick,

Have you looked at ggplot2?  There are two examples at the end of [1].

HTH,
Jorge

[1]  http://had.co.nz/ggplot2/geom_histogram.html



On Fri, Aug 13, 2010 at 4:12 PM, Yvonnick NOEL <> wrote:

> 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.
>

	[[alternative HTML version deleted]]

