Package 'rvg'

Title: R Graphics Devices for 'Office' Vector Graphics Output
Description: Vector Graphics devices for 'Microsoft PowerPoint' and 'Microsoft Excel'. Functions extending package 'officer' are provided to embed 'DrawingML' graphics into 'Microsoft PowerPoint' presentations and 'Microsoft Excel' workbooks.
Authors: David Gohel [aut, cre], ArData [cph], Bob Rudis [ctb] (the javascript code used by function set_attr), Francois Brunetti [ctb] (clipping algorithms)
Maintainer: David Gohel <[email protected]>
License: GPL-3
Version: 0.3.5.001
Built: 2024-11-01 08:19:30 UTC
Source: https://github.com/davidgohel/rvg

Help Index


Wrap plot instructions for DrawingML plotting in Powerpoint

Description

A simple wrapper to mark the plot instructions as Vector Graphics instructions. It produces an object of class 'dml' with a corresponding method ph_with.

The function enable usage of any R plot with argument code and with ggplot objects with argument ggobj.

Usage

dml(
  code,
  ggobj = NULL,
  bg = "white",
  fonts = list(),
  pointsize = 12,
  editable = TRUE,
  ...
)

Arguments

code

plotting instructions

ggobj

ggplot object to print. argument code will be ignored if this argument is supplied.

bg, fonts, pointsize, editable

Parameters passed to dml_pptx

...

unused arguments

background color

When dealing with a ggplot object argument bg will have no effect because ggplot theme is specifying background color, don't forget to define the colors you want in the theme:

theme(
  panel.background = element_rect(fill = "#EFEFEF"),
  plot.background = element_rect(fill = "wheat"))

See Also

ph_with.dml

Examples

anyplot <- dml(code = barplot(1:5, col = 2:6), bg = "wheat")

library(officer)
doc <- read_pptx()
doc <- add_slide(doc, "Title and Content", "Office Theme")
doc <- ph_with(doc, anyplot, location = ph_location_fullsize())
fileout <- tempfile(fileext = ".pptx")
# fileout <- "vg.pptx"
print(doc, target = fileout)

DrawingML graphic device for Microsoft PowerPoint

Description

Graphics devices for Microsoft PowerPoint DrawingML format.

Usage

dml_pptx(
  file = "Rplots.dml",
  width = 6,
  height = 6,
  offx = 1,
  offy = 1,
  bg = "white",
  fonts = list(),
  pointsize = 12,
  editable = TRUE,
  id = 1L,
  last_rel_id = 1L,
  raster_prefix = "raster_",
  standalone = TRUE
)

Arguments

file

the file where output will appear.

height, width

Height and width in inches.

offx, offy

top and left origin of the plot

bg

Default background color for the plot (defaults to "white").

fonts

Named list of font names to be aliased with fonts installed on your system. If unspecified, the R default families sans, serif, mono and symbol are aliased to the family returned by match_family().

When you use specific fonts, you will need that font installed on your system. This can be check with package gdtools and function gdtools::font_family_exists().

An example: list(sans = "Roboto", serif = "Times", mono = "Courier").

pointsize

default point size.

editable

should vector graphics elements (points, text, etc.) be editable.

id

specifies a unique identifier (integer) within the slide that will contain the DrawingML instructions.

last_rel_id

specifies the last unique identifier (integer) within relationship file that will be used to reference embedded raster images if any.

raster_prefix

string value used as prefix for png files produced when raster objects are printed on the graphical device.

standalone

produce a standalone drawingml file? If FALSE, omits xml header and namespaces.

See Also

Devices

Examples

dml_pptx(file = tempfile())
plot(1:11, (-5:5)^2, type = "b", main = "Simple Example")
dev.off()

DrawingML graphic device for Microsoft Excel

Description

Graphics devices for Microsoft Excel DrawingML format.

Usage

dml_xlsx(
  file = "Rplots.dml",
  width = 6,
  height = 6,
  offx = 1,
  offy = 1,
  bg = "white",
  fonts = list(),
  pointsize = 12,
  editable = TRUE,
  id = 1L,
  last_rel_id = 1L,
  raster_prefix = "raster_",
  standalone = TRUE
)

Arguments

file

the file where output will appear.

height, width

Height and width in inches.

offx, offy

top and left origin of the plot

bg

Default background color for the plot (defaults to "white").

fonts

Named list of font names to be aliased with fonts installed on your system. If unspecified, the R default families sans, serif, mono and symbol are aliased to the family returned by match_family().

pointsize

default point size.

editable

should vector graphics elements (points, text, etc.) be editable.

id

specifies a unique identifier (integer) within the slide that will contain the DrawingML instructions.

last_rel_id

specifies the last unique identifier (integer) within relationship file that will be used to reference embedded raster images if any.

raster_prefix

string value used as prefix for png files produced when raster objects are printed on the graphical device.

standalone

produce a standalone drawingml file? If FALSE, omits xml header and namespaces.

See Also

Devices

Examples

dml_xlsx(file = tempfile())
plot(1:11, (-5:5)^2, type = "b", main = "Simple Example")
dev.off()

add a plot output as vector graphics into a PowerPoint object

Description

produces a vector graphics output from R plot instructions stored in a dml object and add the result in an rpptx object produced by read_pptx.

Usage

## S3 method for class 'dml'
ph_with(x, value, location, ...)

Arguments

x

a pptx device

value

dml object

location

a location for a placeholder.

...

Arguments to be passed to methods

Examples

anyplot <- dml(code = barplot(1:5, col = 2:6), bg = "wheat")

library(officer)
doc <- read_pptx()
doc <- add_slide(doc, "Title and Content", "Office Theme")
doc <- ph_with(doc, anyplot, location = ph_location_fullsize())

fileout <- tempfile(fileext = ".pptx")
print(doc, target = fileout)

add a plot output as vector graphics into an Excel object

Description

produces a vector graphics output from R plot instructions and add the result in an Excel sheet. by read_xlsx.

Usage

xl_add_vg(x, sheet, code, left, top, width, height, ...)

Arguments

x

an rxlsx object produced by officer::read_xlsx

sheet

sheet label/name

code

plot instructions

left, top

left and top origin of the plot on the slide in inches.

height, width

Height and width in inches.

...

arguments passed on to dml_xlsx.

Examples

library(officer)
my_ws <- read_xlsx()
my_ws <- xl_add_vg(my_ws,
  sheet = "Feuil1",
  code = barplot(1:5, col = 2:6), width = 6, height = 6, left = 1, top = 2
)
fileout <- tempfile(fileext = ".xlsx")
print(my_ws, target = fileout)