[R] Question about banking to 45 degrees.
Deepayan Sarkar
deepayan.sarkar at gmail.com
Tue May 20 20:34:12 CEST 2008
On 5/20/08, Joshua Hertlein <jhertlein at hotmail.com> 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
More information about the R-help
mailing list