Learn R Programming

tikzDevice (version 0.4.8)

tikz: TikZ Graphics Device

Description

tikz is used to open a R graphics device which supports output in the TikZ graphics language. TikZ code may be used inside a LaTeX document by specifying \usepackage{tikz} in the document header.

Usage

tikz(file = "Rplots.tex", width = 7, height = 7, 
	bg="white", fg="black", standAlone = FALSE, bareBones = FALSE, 
	documentDeclaration = getOption("tikzDocumentDeclaration"),
	packages = getOption("tikzLatexPackages"),
	footer = getOption("tikzFooter"))

Arguments

file
A character string indicating the desired path to the output file.
width
The width of the output figure, in inches.
height
The height of the output figure, in inches.
bg
The starting background color for the plot.
fg
The starting foreground color for the plot.
standAlone
A logical value indicating whether the resulting file should be suitable for direct processing by LaTeX. A value of FALSE indicates that the file is intended for inclusion in a larger document. See Details.
bareBones
A logical value. When TRUE the figure will not be wrapped in a tikzpicture environment. This option is useful for embedding one TikZ picture within another. When TRUE multipage output will be drawn on a
documentDeclaration
See the section ``Options That Affect Package Behavior.''
packages
See the section ``Options That Affect Package Behavior.''
footer
See the section ``Options That Affect Package Behavior.''

Value

  • tikz() returns no values.

Details

The TikZ device enables LaTeX-ready output from R graphics functions. This is done by producing code that can be understood by the TikZ graphics language. All text in a graphic output with tikz will be typeset by LaTeX and therefore will match whatever fonts are currently used in the document. This also means that LaTeX mathematics can be typeset directly into labels and annotations.

The TikZ device currently supports two modes of output depending on the value of the parameter standAlone. If standAlone is set to FALSE, the default, the resulting file will only contain the tikzpicture environment and the commands to build your graphic. Since this file is not a complete LaTeX document, it will need to be included in another LaTeX document using the \input command. For example, \documentclass{article} \usepackage{tikz} \begin{document} \begin{figure} \centering \input{Rplots.tex} \caption{} \end{figure} \end{document}

When standAlone is set to TRUE, the device wraps the tikzpicture environment in a complete LaTeX document suitable for direct compilation. In this mode the preview package is used to crop the resulting output to the bounding box of the graphic.

References

The TikZ and PGF Packages: Manual for version 2.00 http://sourceforge.net/projects/pgf Till Tantau, February 20, 2008

See Also

pictex, getLatexCharMetrics, getLatexStrWidth, setTikzDefaults, tikzAnnotate

Examples

Run this code
## Example 1 ###################################
#Set up temporary work directory
td <- tempdir()
tf <- file.path(td,'example1.tex')
oldwd <- getwd()
setwd(td)

# Minimal plot
tikz(tf,standAlone=TRUE)
	plot(1)
dev.off()

# View the output
tools::texi2dvi(tf,pdf=T)
system(paste(getOption('pdfviewer'),file.path(td,'example1.pdf')))
setwd(oldwd)
################################################
		
## Example 2 ###################################
#Set up temporary work directory
td <- tempdir()
tf <- file.path(td,'example2.tex')
oldwd <- getwd()
setwd(td)

#LaTeX math symbol names
syms <-c('alpha','theta','tau','beta','vartheta','pi','upsilon',
   		  'gamma','gamma','varpi','phi','delta','kappa','rho',
   		  'varphi','epsilon','lambda','varrho','chi','varepsilon',
   		  'mu','sigma','psi','zeta','nu','varsigma','omega','eta',
   		  'xi','Gamma','Lambda','Sigma','Psi','Delta','Xi','Upsilon',
   		  'Omega','Theta','Pi','Phi')
x <- rnorm(length(syms))
y <- rnorm(length(syms))

tikz(tf,standAlone=TRUE)
	plot(-2:2, -2:2, type = "n", axes=F, 
			xlab='', ylab='', main='TikZ Device Example')
    text(x,y,paste('\\Large$\\',syms,'$',sep=''))
dev.off()

#View the output
tools::texi2dvi(tf,pdf=TRUE)
system(paste(getOption('pdfviewer'),file.path(td,'example2.pdf')))
setwd(oldwd)
################################################

## Example 3 ###################################
#Set up temporary work directory
td <- tempdir()
tf <- file.path(td,'example3.tex')
oldwd <- getwd()
setwd(td)

tikz(tf,standAlone=TRUE)
	plot(-2:2, -2:2, type = "n", axes=F, xlab='', ylab='', main=main)
    points(rnorm(50), rnorm(50), pch=21, 
			bg=rainbow(50,alpha=.5), cex=10)
dev.off()

#View the output
tools::texi2dvi(tf,pdf=TRUE)
system(paste(getOption('pdfviewer'),file.path(td,'example3.pdf')))
setwd(oldwd)
################################################

Run the code above in your browser using DataLab