[R] xyplot help - colors and break in plot
Tim Clark
mudiver1200 at yahoo.com
Tue Sep 29 20:07:31 CEST 2009
Felix,
Thanks, that did the trick! Lattice is a lot less intuitive than basic plotting!
Also, another person suggested using gap.plot from the plotrix package to put a break in the graph. I am surprised Lattice doesn't have something similar since it seems like a common problem when you have data that groups in clusters separated by a large range.
Aloha,
Tim
Tim Clark
Department of Zoology
University of Hawaii
--- On Mon, 9/28/09, Felix Andrews <felix at nfrac.org> wrote:
> From: Felix Andrews <felix at nfrac.org>
> Subject: Re: [R] xyplot help - colors and break in plot
> To: "Tim Clark" <mudiver1200 at yahoo.com>
> Cc: r-help at r-project.org
> Date: Monday, September 28, 2009, 1:50 PM
> 2009/9/29 Tim Clark <mudiver1200 at yahoo.com>:
> > Dear List,
> >
> > I am new to lattice plots, and am having problems with
> getting my plot to do what I want. Specifically:
> >
> > 1. I would like the legend to have the same symbols as
> the plot. I tried simpleKey but can't seem to get it
> to work with autoKey. Right now my plot has dots
> (pch=19) and my legend shows circles.
>
> Rather than the pch = 19 argument, use par.settings =
> simpleTheme(pch
> = 19, cex = .4)
>
> >
> > 2. I have nine groups but xyplot seems to only
> be using seven colors, so two groups have the same
> color. How do I get a range of nine colors?
>
> Yes, in the default theme, there are seven colours: see
> trellis.par.get("superpose.symbol")
>
> You can change the set of colours yourself by modifying
> that list (via
> trellis.par.set).
>
> An easier option is to use one of the predefined
> ColorBrewer palettes,
> with custom.theme() from the latticeExtra package, or just
> simpleTheme(). See ?brewer.pal (RColorBrewer package)
> You will see there are a few qualitative color palettes
> with 9 or more
> colours: e.g.
> brewer.pal(9, "Set1")
> brewer.pal(12, "Set3")
>
> >
> > 3. I have one group who's y range is much
> greater than all the others. I would like to split the
> plot somehow so that the bottom part shows ylim=c(0,200) and
> the top shows ylim=c(450,550). Is this possible?
>
> Yes... in the absence of a reproducible example, maybe
> something like
>
> xyplot(Area.km2 ~ DataPoint | (Area.km2 > 200),
> m.dp.area,
> groups = Manta,
> scales = list(y = "free"))
>
> or
>
> AreaRange <- shingle(Area.km2,
> rbind(c(0,200),c(450,550)))
> xyplot(Area.km2 ~ DataPoint | AreaRange, m.dp.area,
> groups = Manta, scales = list(y
> = "free"))
>
> >
> > What I have so far is:
> >
> > library(lattice)
> > xyplot(m.dp.area$Area.km2 ~ m.dp.area$DataPoint,
> m.dp.area, groups = m.dp.area$Manta,
> > main = "Cummulative area of
> 100% MCP",
> > xlab = "Data Point",
> > ylab = "MCP Area",
> > ylim = c(0,150),
> > scales = list(tck = c(1,
> 0)), #Removes tics on top and r-axis
> > pch=19,cex=.4,
> > auto.key = list(title =
> "Mantas", x = .05, y=.95, corner = c(0,1),border = TRUE))
> #Legend
> >
> >
> > Thanks,
> >
> > Tim
> >
> >
> >
> > Tim Clark
> > Department of Zoology
> > University of Hawaii
> >
> > ______________________________________________
> > R-help at 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.
> >
>
>
> --
> Felix Andrews / 安福立
> Postdoctoral Fellow
> Integrated Catchment Assessment and Management (iCAM)
> Centre
> Fenner School of Environment and Society [Bldg 48a]
> The Australian National University
> Canberra ACT 0200 Australia
> M: +61 410 400 963
> T: + 61 2 6125 1670
> E: felix.andrews at anu.edu.au
> CRICOS Provider No. 00120C
> --
> http://www.neurofractal.org/felix/
>
More information about the R-help
mailing list