[R] Conditional plot labels
baptiste auguie
ba208 at exeter.ac.uk
Sun Apr 26 13:52:18 CEST 2009
Hi,
Have you considered using high-level plotting functions provided by
the ggplot2 or lattice package? Here's a dummy example,
>
> x <- seq(0, 10, length=100)
> y1 <- sin(x)
> y2 <- cos(x)
> y3 <- x^2/100
> y4 <- 1/x
>
> d <- data.frame(x, y1, y2, y3, y4)
>
> library(reshape)
> dm <- melt(d, id="x")
>
> dm$type1 <- rep(LETTERS[1:2], each=2*length(x)) # dummy factors
> dm$type2 <- rep(letters[1:2], each=length(x))
>
> library(ggplot2)
> p1 <-
> qplot(x, value, data=dm, geom="line", facets=type1~type2)
>
> p1 # you can customise the appearance if the default doesn't please
> you
>
> library(lattice)
>
> p2 <-
> xyplot(value~x|type1*type2, data=dm, t="l") # here the strips are on
> top of each other by default
>
> library(latticeExtra)
>
> useOuterStrips(p2) # this makes the layout more like you want
Alternatively, you can also use raw Grid commands and define your own
layout where to place the different graphical objects, but it's more
work.
Hope this helps,
baptiste
On 26 Apr 2009, at 01:31, Christian Bustamante wrote:
> Hi all,
> I'm trying to do multiple graphs in a window like this:
>
> ___ ___ ___
> ylab |__| |__| |__|
> ___ ___ ___
> ylab |__| |__| |__|
> ___ ___ ___
> ylab |__| |__| |__|
> xl xl xl
>
> If I try to put the labels manually, some graphs become smaller than
> other and the output is really ugly.
> In the thread title I put the word "conditional" because I'm trying to
> do a function, and in that function I want to print ylabels if the
> plot positions is at first column of the graph matrix, and xlab if the
> position is at last row of matrix.
>
> How can i achive this two things?
>
> Thanks for your help
>
> --
> CdeB
>
> ______________________________________________
> 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.
_____________________________
Baptiste Auguié
School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
More information about the R-help
mailing list