quartz {grDevices} | R Documentation |
macOS Quartz Device
Description
quartz
starts a graphics device driver for the macOS system.
It supports plotting both to the screen (the default) and to various
graphics file formats.
Usage
quartz(title, width, height, pointsize, family, antialias, type,
file = NULL, bg, canvas, dpi)
quartz.options(..., reset = FALSE)
quartz.save(file, type = "png", device = dev.cur(), dpi = 100, ...)
Arguments
title |
title for the Quartz window (applies to on-screen output
only), default |
width |
the width of the plotting area in inches. Default |
height |
the height of the plotting area in inches. Default |
pointsize |
the default pointsize to be used. Default |
family |
this is the family name of the font
that will be used by the device. Default |
antialias |
whether to use antialiasing. Default |
type |
the type of output to use. See ‘Details’ for
more information. Default |
file |
an optional target for the graphics device. The default,
|
bg |
the initial background colour to use for the device. Default
|
canvas |
canvas colour to use for an on-screen device. Default
|
dpi |
resolution of the output. The default ( |
... |
Any of the arguments to |
reset |
logical: should the defaults be reset to their defaults? |
device |
device number to copy from. |
Details
The defaults for all but one of the arguments of quartz
are set
by quartz.options
: the ‘Arguments’ section gives the
‘factory-fresh’ defaults.
The Quartz graphics device supports a variety of output types.
On-screen output types are ""
or "native"
or
"Cocoa"
. Off-screen output types produce output files and
utilize the file
argument. type = "pdf"
gives PDF
output. The following bitmap formats may be supported (depending on
the OS version): "png"
, "jpeg"
, "jpg"
,
"jpeg2000"
, "tif"
, "tiff"
, "gif"
,
"psd"
(Adobe Photoshop), "bmp"
(Windows bitmap),
"sgi"
and "pict"
.
The file
argument is used for off-screen drawing. The actual
file is only created when the device is closed (e.g., using
dev.off()
). For the bitmap devices, the page number is
substituted if a C integer format is included in the character string,
e.g. Rplot%03d.png
. (Depending on the platform,
the result should be less than
PATH_MAX
characters long, and may be truncated if not. See
pdf
for further details.) If a file
argument is not supplied, the default is Rplots.pdf
or
Rplot%03d.type
. Tilde expansion
(see path.expand
) is done.
If a device-independent R graphics font family is specified (e.g.,
via par(family =)
in the graphics package), the Quartz device
makes use of the Quartz font database (see quartzFonts
) to
convert the R graphics font family to a Quartz-specific font family
description. The default conversions are (MonoType TrueType versions
of) Helvetica
for sans
, Times-Roman
for
serif
and Courier
for mono
.
On-screen devices are launched with a semi-transparent canvas. Once a
new plot is created, the canvas is first painted with the
canvas
colour and then the current background colour (which can
be transparent or semi-transparent). Off-screen devices have no
canvas colour, and so start with a transparent background where
possible (e.g., type = "png"
and type = "tiff"
) –
otherwise it appears that a solid white canvas is assumed in the
Quartz code. PNG and TIFF files are saved with a dark grey matte
which will show up in some viewers, including Preview
.
title
can be used for on-screen output. It must be a single
character string with an optional integer printf-style format that
will be substituted by the device number. It is also optionally used
(without a format) to give a title to a PDF file.
Calling quartz()
sets .Device
to "quartz"
for on-screen devices and to "quartz_off_screen"
otherwise.
The font family chosen needs to cover the characters to be used:
characters not in the font are rendered as empty oblongs. For
non-Western-European languages something other than the default of
"Arial"
is likely to be needed—one choice for Chinese is
"MingLiU"
.
quartz.save
is a modified version of dev.copy2pdf
to copy the plot from the current screen device to a quartz
device, by default to a PNG file.
Conventions
This section describes the implementation of the conventions for graphics devices set out in the ‘R Internals’ manual.
The default device size is 7 inches square.
Font sizes are in big points.
The default font family is Arial.
Line widths are a multiple of 1/96 inch with no minimum set by R.
Circle radii are real-valued with no minimum set by R.
Colours are specified as sRGB.
Note
For a long time the default font family was documented as
"Helvetica"
after it had been changed to "Arial"
to work
around a deficiency in macOS 10.4. It may be changed back in future.
A fairly common Mac problem is no text appearing on plots due to
corrupted or duplicated fonts on your system. You may be able to
confirm this by using another font family,
e.g. family = "serif"
.
Open the Font Book
application (in Applications
) and
check the fonts that you are using.
See Also
png
for way to access the bitmap types of this device
via R's standard bitmap devices.
Examples
## Not run:
## Only on a Mac,
## put something like this is your .Rprofile to customize the defaults
setHook(packageEvent("grDevices", "onLoad"),
function(...) grDevices::quartz.options(width = 8, height = 6,
pointsize = 10))
## End(Not run)