This function inserts the plot on the active plot device to Word. The image is transferred by saving the picture to a file in R and inserting the file in Word. The format of the plot can be selected, as well as crop options and the size factor for inserting.

WrdPlot(type = "png", append.cr = TRUE, crop = c(0, 0, 0, 0), main = NULL,
        picscale = 100, height = NA, width = NA, res = 300,
        dfact = 1.6, wrd = DescToolsOptions("lastWord"))

Arguments

type

the format for the picture file, default is "png".

append.cr

should a carriage return be appended? Default is TRUE.

crop

crop options for the picture, defined by a 4-elements-vector. The first element is the bottom side, the second the left and so on.

main

a caption for the plot. This will be inserted by InserCaption in Word. Default is NULL, which will insert nothing.

picscale

scale factor of the picture in percent, default ist 100.

height

height in cm, this overrides the picscale if both are given.

width

width in cm, this overrides the picscale if both are given.

res

resolution for the png file, defaults to 300.

dfact

the size factor for the graphic.

wrd

the pointer to a word instance. Can be a new one, created by GetNewWrd() or an existing one, created by GetCurrWrd(). Default is the last created pointer stored in DescToolsOptions("lastWord").

Value

Returns a pointer to the inserted picture.

Author

Andri Signorell <andri@signorell.net>

Examples

if (FALSE)  # Windows-specific example
# let's have some graphics
plot(1,type="n", axes=FALSE, xlab="", ylab="", xlim=c(0,1), ylim=c(0,1), asp=1)
rect(0,0,1,1,col="black")
#> Error in rect(0, 0, 1, 1, col = "black"): plot.new has not been called yet
segments(x0=0.5, y0=seq(0.632,0.67, length.out=100),
  y1=seq(0.5,0.6, length.out=100), x1=1, col=rev(rainbow(100)))
#> Error in segments(x0 = 0.5, y0 = seq(0.632, 0.67, length.out = 100), y1 = seq(0.5,     0.6, length.out = 100), x1 = 1, col = rev(rainbow(100))): plot.new has not been called yet
polygon(x=c(0.35,0.65,0.5), y=c(0.5,0.5,0.75), border="white",
  col="black", lwd=2)
#> Error in polygon(x = c(0.35, 0.65, 0.5), y = c(0.5, 0.5, 0.75), border = "white",     col = "black", lwd = 2): plot.new has not been called yet
segments(x0=0,y0=0.52, x1=0.43, y1=0.64, col="white", lwd=2)
#> Error in segments(x0 = 0, y0 = 0.52, x1 = 0.43, y1 = 0.64, col = "white",     lwd = 2): plot.new has not been called yet
x1 <- seq(0.549,0.578, length.out=50)
segments(x0=0.43, y0=0.64, x1=x1, y1=-tan(pi/3)* x1 + tan(pi/3) * 0.93,
  col=rgb(1,1,1,0.35))
#> Error in segments(x0 = 0.43, y0 = 0.64, x1 = x1, y1 = -tan(pi/3) * x1 +     tan(pi/3) * 0.93, col = rgb(1, 1, 1, 0.35)): plot.new has not been called yet


# get a handle to a new word instance
wrd <- GetNewWrd()
#> Loading required namespace: RDCOMClient
#> Warning: RDCOMClient is unfortunately not available for Linux systems (Windows-only).
# insert plot with a specified height
WrdPlot(wrd=wrd, height=5)
#> Error in wrd[["Selection"]][["InlineShapes"]]$AddPicture(fn, FALSE, TRUE): attempt to apply non-function
ToWrd("Remember?\n", fontname="Arial", fontsize=14, bold=TRUE, wrd=wrd)
#> Error in wrd[["Selection"]]$InsertAfter(paste(x, collapse = "\n")): attempt to apply non-function
# crop the picture
WrdPlot(wrd=wrd, height=5, crop=c(9,9,0,0))
#> Error in wrd[["Selection"]][["InlineShapes"]]$AddPicture(fn, FALSE, TRUE): attempt to apply non-function


wpic <- WrdPlot(wrd=wrd, height=5, crop=c(9,9,0,0))
#> Error in wrd[["Selection"]][["InlineShapes"]]$AddPicture(fn, FALSE, TRUE): attempt to apply non-function
wpic
#> Error in eval(expr, envir, enclos): object 'wpic' not found