Rev 42476 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\documentclass[a4paper]{article}%\VignetteIndexEntry{Demonstrating move-to and line-to}%\VignettePackage{grid}\newcommand{\grid}{{\tt grid}}\newcommand{\R}{{\tt R}}\setlength{\parindent}{0in}\setlength{\parskip}{.1in}\setlength{\textwidth}{140mm}\setlength{\oddsidemargin}{10mm}\title{Drawing Lines Between Viewports: \\{\tt grid.move.to} and {\tt grid.line.to}}\author{Paul Murrell}\begin{document}\maketitle<<echo=FALSE, results=hide>>=library(grDevices)library(grid)ps.options(pointsize=12)options(width=60)@Many graphics systems have the notion of a current drawing location.This has been added to Grid, with the additional benefit that thedrawing location can be specified relative to an arbitrary viewport.This allows drawing across coordinatesystems\footnote{There was a request on R-help for exactly thissort of thing - I will try to find the exact reference - and there hassince been another (From: Ross Darnell; Subject: Problems withsegments and multiple graphs). }.The following code demonstrates a simple example (the output isgiven after the code).<<fig, results=hide, fig=TRUE, width=5, height=4, include=FALSE>>=pushViewport(viewport(w=.8, h=.8,layout=grid.layout(1, 3,widths=unit(rep(1, 3),c("null", "inches", "null")))))pushViewport(viewport(layout.pos.col=1, yscale=c(0,4)))grid.grill(); grid.yaxis(); grid.xaxis()grid.points(.5, unit(2, "native"))grid.move.to(.5, unit(2,"native"))popViewport()pushViewport(viewport(layout.pos.col=3, yscale=c(0,2)))grid.grill(); grid.yaxis(); grid.xaxis()grid.points(.5, unit(2, "native"))grid.line.to(.5, unit(2,"native"))@\begin{center}{\includegraphics[width=5in, height=4in]{moveline-fig}}\end{center}@% Start a new page% Not echoed, not evaluated% ONLY here for checkVignettes so that all output doesn't% end up on one enormous page<<eval=FALSE, echo=FALSE>>=grid.newpage()@\end{document}