Description Usage Arguments Details Value Author(s) See Also Examples
These functions allow custom (LaTeX) commands to be added to the output of an active tikzDevice.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | tikzAnnotate(annotation)
tikzNode(x = NULL, y = NULL, opts = NULL, name = NULL,
content = NULL, units = "user")
tikzCoord(x, y, name, units = "user")
tikzAnnotateGrob(annotation)
tikzNodeGrob(x = NULL, y = NULL, opts = NULL,
name = NULL, content = NULL, units = "native")
tikzCoordGrob(x, y, name, units = "native")
grid.tikzAnnotate(annotation, draw = TRUE)
grid.tikzNode(x = NULL, y = NULL, opts = NULL,
name = NULL, content = NULL, units = "native",
draw = TRUE)
grid.tikzCoord(x, y, name, units = "native", draw = TRUE)
|
annotation |
A character vector, one element per line to be added to the open tikz device. |
x |
numeric, x location for a named coordinate in user coordinates |
y |
numeric, y location for a named coordinate in user coordinates |
opts |
A character string that will be used as
options for a |
name |
Optional character string that will be used
as a name for a |
content |
A character string that will be used as
the content to be displayed inside of a |
units |
Character string specifying the unit system
associated with |
draw |
A logical value indicating whether graphics output should be produced. |
tikzAnnotate
is intended to allow the insertion of
arbitrary TikZ commands into the output stream of a
graphic. For LaTeX commands that reference specific
locations in an R plot, coordinates must be specified in
"device units" which for tikz
output are TeX
points relative to the lower left corner of the device
canvas. Functions such as grconvertX
and
gridToDevice
can help make the necessary
conversions for base and grid graphics. The
tikzNode
and tikzCoord
functions
automatically perform unit conversions acording the the
value of their units
parameters.
tikzNode
is a wrapper for tikzAnnotate
that
inserts TikZ \node
or \coordinates
commands into the output. The difference between a node
and a coordinate is the presence of a content
section that can contain arbitrary LaTeX text. This is
useful for adding textual annotations at specific
locations in a TikZ graphic. The tikzCoord
function is a wrapper for tikzNode
that simplifies
the task of inserting named coordinates.
Additionally, the tikzAnnotateGrob
,
tikzNodeGrob
and tikzCoordGrob
functions
are supplied for creating grid objects or
"grob
s" that can be used in Grid graphics.
High level wrapper functions grid.tikzAnnotate
,
grid.tikzNode
and grid.tikzCoord
are also
supplied which creat and render a grob
in one
step.
See the TikZ Device vignette for more information and examples and the TikZ manual for the definitive reference on what is possible with nodes.
Nothing returned.
Cameron Bracken <cameron.bracken@gmail.com> and Charlie Sharpsteen source@sharpsteen.net
grconvertX
grconvertY
gridToDevice
unit
tikz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | ## Not run:
### Example 1: Annotations in Base Graphics
# Load some additional TikZ libraries
tikz("annotation.tex",width=4,height=4,
packages = c(getOption('tikzLatexPackages'),
"\\usetikzlibrary{decorations.pathreplacing}",
"\\usetikzlibrary{positioning}",
"\\usetikzlibrary{shapes.arrows,shapes.symbols}")
)
p <- rgamma (300 ,1)
outliers <- which( p > quantile(p,.75)+1.5*IQR(p) )
boxplot(p)
# Add named coordinates that other TikZ commands can hook onto
tikzCoord(1, min(p[outliers]), 'min outlier')
tikzCoord(1, max(p[outliers]), 'max outlier')
# Use tikzAnnotate to insert arbitrary code, such as drawing a
# fancy path between min outlier and max outlier.
tikzAnnotate(c("\\draw[very thick,red,",
# Turn the path into a brace.
'decorate,decoration={brace,amplitude=12pt},',
# Shift it 1em to the left of the coordinates
'transform canvas={xshift=-1em}]',
'(min outlier) --',
# Add a node with some text in the middle of the path
'node[single arrow,anchor=tip,fill=white,draw=green,',
'left=14pt,text width=0.70in,align=center]',
'{Holy Outliers Batman!}', '(max outlier);'))
# tikzNode can be used to place nodes with customized options and content
tikzNode(
opts='starburst,fill=green,draw=blue,very thick,right=of max outlier',
content='Wow!'
)
dev.off()
### Example 2: Annotations in Grid Graphics
require(grid)
tikz("grid_annotation.tex",width=4,height=4,
packages = c(getOption('tikzLatexPackages'),
"\\usetikzlibrary{shapes.callouts}")
)
pushViewport(plotViewport())
pushViewport(dataViewport(1:10, 1:10))
grid.rect()
grid.xaxis()
grid.yaxis()
grid.points(1:10, 1:10)
for ( i in seq(2,8,2) ){
grid.tikzNode(i,i,opts='ellipse callout,draw,anchor=pointer',content=i)
}
dev.off()
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.