| % File src/library/grid/vignettes/moveline.Rnw |
| % Part of the R package, https://www.R-project.org |
| % Copyright 2001-13 Paul Murrell and the R Core Team |
| % Distributed under GPL 2 or later |
| |
| \documentclass[a4paper]{article} |
| %\VignetteIndexEntry{Demonstrating move-to and line-to} |
| %\VignettePackage{grid} |
| \newcommand{\code}[1]{\texttt{#1}} |
| \newcommand{\pkg}[1]{{\normalfont\fontseries{b}\selectfont #1}} |
| \newcommand{\grid}{\pkg{grid}} |
| \newcommand{\R}{{\sffamily R}} |
| \setlength{\parindent}{0in} |
| \setlength{\parskip}{.1in} |
| \setlength{\textwidth}{140mm} |
| \setlength{\oddsidemargin}{10mm} |
| \title{Drawing Lines Between Viewports: \\ |
| \code{grid.move.to} and \code{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 the |
| drawing location can be specified relative to an arbitrary viewport. |
| This allows drawing across coordinate |
| systems\footnote{There was a request on R-help for exactly this |
| sort of thing - I will try to find the exact reference - and there has |
| since been another (From: Ross Darnell; Subject: Problems with |
| segments and multiple graphs). }. |
| |
| The following code demonstrates a simple example (the output is |
| given after the code). |
| |
| <<fig, results=hide, fig=TRUE, width=5, height=4, include=FALSE>>= |
| pushViewport( |
| viewport(w = 0.8, h = 0.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(0.5, unit(2, "native")) |
| grid.move.to(0.5, unit(2,"native")) |
| popViewport() |
| pushViewport(viewport(layout.pos.col = 3, yscale = c(0, 2))) |
| grid.grill(); grid.yaxis(); grid.xaxis() |
| grid.points(0.5, unit(2, "native")) |
| grid.line.to(0.5, unit(2,"native")) |
| @ |
| \begin{center} |
| { |
| \includegraphics[width=5in, height=4in]{moveline-fig} |
| } |
| \end{center} |
| |
| @ |
| \end{document} |
| |
| |
| |