On 5/20/08, Joshua Hertlein <[EMAIL PROTECTED]> wrote: > > Hello, > > I am very interested in "banking to 45 degrees" as defined by William S. > Cleveland > in "Visualizing Data." I like to do it in R as well as Excel, etc. With R I > have come > across the following method: > > xyplot(x, y, aspect="xy") (part of "lattice" package) > > which will bank my graph to 45 degrees. My question is how do I obtain the > aspect ratio that banks this graph to 45 degrees? I understand that R does it > for me, but I would like to explicitly know the aspect ratio so that I can > configure > other graphs in Excel or other software.
> foo <- xyplot(sunspot.year ~ 1700:1988, type = "l", aspect = "xy") > foo$aspect.ratio [1] 0.04554598 > aspect ratio = v / h (v is vertical distance of plot, h is horizontal > distance of plot. > NOT in the data units, but true, actual distance). > > I've also come across "banking ()", but I don't understand it, nor the > significance > of the value it returns. Regardless, it doesn't seem to be the aspect ratio > that > I am looking for. banking(dx, dy) basically gives you the median of abs(dy/dx). The idea is that dx and dy define the slopes of the segments you want to bank (so typically, dx = diff(x) and dy = diff(y) if x and y are the data you want to plot). banking() gives you a single (summary) slope; you then choose the aspect ratio of your plot so that this slope (in the data coordinates) has a physical slope of 1. To do this, you solve an equation involving the data range in the x- and y-axes of your plot. -Deepayan ______________________________________________ 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.