From: Paul Murrell <p.murrell_at_auckland.ac.nz>

Date: Wed 25 May 2005 - 07:41:28 EST

}

*>
*

*>
*

*> ______________________________________________
*

> R-help@stat.math.ethz.ch mailing list

*> https://stat.ethz.ch/mailman/listinfo/r-help
*

*> PLEASE do read the posting guide!
*

*> http://www.R-project.org/posting-guide.html
*

Date: Wed 25 May 2005 - 07:41:28 EST

Hi

gridBase won't help here (grid can't rotate traditional graphics output).

I think you have to get your hands dirty on this one, but it's not too hard. Here's a function pie90() which is a tiny modification of pie(). Does that do the trick?

pie90 <- function (x, labels = names(x), edges = 200, radius = 0.8, density = NULL,

angle = 45, col = NULL, border = NULL, lty = NULL, main = NULL, ...) { if (!is.numeric(x) || any(is.na(x) | x <= 0)) stop("'x' values must be positive.") if (is.null(labels)) labels <- as.character(1:length(x)) x <- c(0, cumsum(x)/sum(x)) dx <- diff(x) plot.new() pin <- par("pin") xlim <- ylim <- c(-1, 1) if (pin[1] > pin[2]) xlim <- (pin[1]/pin[2]) * xlim else ylim <- (pin[2]/pin[1]) * ylim plot.window(xlim, ylim, "", asp = 1) nx <- length(dx) if (is.null(col)) col <- if (is.null(density)) c("white", "lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk") else par("fg") col <- rep(col, length.out = nx) border <- rep(border, length.out = nx) lty <- rep(lty, length.out = nx) angle <- rep(angle, length.out = nx) density <- rep(density, length.out = nx) for (i in 1:nx) { n <- max(2, floor(edges * dx[i])) # modified line below t2p <- 2 * pi * seq(x[i], x[i + 1], length = n) + pi/2 xc <- c(cos(t2p), 0) * radius yc <- c(sin(t2p), 0) * radius polygon(xc, yc, density = density[i], angle = angle[i], border = border[i], col = col[i], lty = lty[i]) # modified line below t2p <- 2 * pi * mean(x[i + 0:1]) + pi/2 xc <- cos(t2p) * radius yc <- sin(t2p) * radius if (!is.na(lab <- labels[i]) && lab != "") { lines(c(1, 1.05) * xc, c(1, 1.05) * yc) text(1.1 * xc, 1.1 * yc, lab, xpd = TRUE, adj = ifelse(xc < 0, 1, 0), ...) } } title(main = main, ...) invisible(NULL)

}

Paul

Sean Davis wrote:

> You might want to look at grid graphics and gridBase. I don't know in

*> detail how to go about what you are asking, but grid allows you to
**> rotate plots arbitrarily. Here are a couple of links that I think are
**> useful.
**>
**> http://www.stat.auckland.ac.nz/~paul/grid/grid.html
**> http://www.stat.auckland.ac.nz/~paul/grid/doc/rotated.pdf
**>
**> Sean
**>
**> On May 24, 2005, at 10:09 AM, Lars wrote:
**>
*

>> hey, >> >> about two weeks ago i posted a question concerning the display of two >> piecharts on one plot. after now being able to do so, i need to rotate >> them. the first piece of my pie is suppose to start at 0° but at 90°. >> i tried several things, all failing in the end. anyone out there who >> has an idea? >> >> Lars >> >> ______________________________________________ >> R-help@stat.math.ethz.ch mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide! >> http://www.R-project.org/posting-guide.html

> R-help@stat.math.ethz.ch mailing list

-- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul@stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.htmlReceived on Wed May 25 07:47:05 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:32:03 EST
*