In conjunction with the theme system, the element_
functions
specify the display of how non-data components of the plot are drawn.
element_blank()
: draws nothing, and assigns no space.
element_rect()
: borders and backgrounds.
element_line()
: lines.
element_text()
: text.
rel()
is used to specify sizes relative to the parent,
margin()
is used to specify the margins of elements.
margin(t = 0, r = 0, b = 0, l = 0, unit = "pt")
element_blank()
element_rect(
fill = NULL,
colour = NULL,
size = NULL,
linetype = NULL,
color = NULL,
inherit.blank = FALSE
)
element_line(
colour = NULL,
size = NULL,
linetype = NULL,
lineend = NULL,
color = NULL,
arrow = NULL,
inherit.blank = FALSE
)
element_text(
family = NULL,
face = NULL,
colour = NULL,
size = NULL,
hjust = NULL,
vjust = NULL,
angle = NULL,
lineheight = NULL,
color = NULL,
margin = NULL,
debug = NULL,
inherit.blank = FALSE
)
rel(x)
Dimensions of each margin. (To remember order, think trouble).
Default units of dimensions. Defaults to "pt" so it can be most easily scaled with the text.
Fill colour.
Line/border colour. Color is an alias for colour.
Line/border size in mm; text size in pts.
Line type. An integer (0:8), a name (blank, solid, dashed, dotted, dotdash, longdash, twodash), or a string with an even number (up to eight) of hexadecimal digits which give the lengths in consecutive positions in the string.
Should this element inherit the existence of an
element_blank
among its parents? If TRUE
the existence of
a blank element among its parents will cause this element to be blank as
well. If FALSE
any blank parent element will be ignored when
calculating final element state.
Line end Line end style (round, butt, square)
Arrow specification, as created by grid::arrow()
Font family
Font face ("plain", "italic", "bold", "bold.italic")
Horizontal justification (in \([0, 1]\))
Vertical justification (in \([0, 1]\))
Angle (in \([0, 360]\))
Line height
Margins around the text. See margin()
for more
details. When creating a theme, the margins should be placed on the
side of the text facing towards the center of the plot.
If TRUE
, aids visual debugging by drawing a solid
rectangle behind the complete text area, and a point where each label
is anchored.
A single number specifying size relative to parent element.
An S3 object of class element
, rel
, or margin
.
plot <- ggplot(mpg, aes(displ, hwy)) + geom_point()
plot + theme(
panel.background = element_blank(),
axis.text = element_blank()
)
plot + theme(
axis.text = element_text(colour = "red", size = rel(1.5))
)
plot + theme(
axis.line = element_line(arrow = arrow())
)
plot + theme(
panel.background = element_rect(fill = "white"),
plot.margin = margin(2, 2, 2, 2, "cm"),
plot.background = element_rect(
fill = "grey90",
colour = "black",
size = 1
)
)