C Additonal plotting tools
C.1 Plotting themes
Themes control non-data parts of your plots, such as:
- Overall appearance
- Axes
- Plot title
- Legends
They control the appearance of your plots (size, color, position) but not how the data is represented.
One example is theme_bw
which provides a white background.
Other complete themes are: theme_classic
, theme_minimal
, theme_light
, theme_dark
.
More themes are available in the ggthemes
package.
library(ggthemes)
ggplot(ind, aes(CPI, HDI, color = region)) + geom_point() + theme_wsj() + scale_colour_wsj("colors6",
"")
C.2 Axes
The appearance of the axis titles can be controlled with the global variable axis.title
,
or independently for \(x\) and \(y\) using axis.title.x
and axis.title.y
.
ggplot(ind, aes(CPI, HDI, color = region)) + geom_jitter() + theme(axis.title = element_text(size = 20,
color = "red"))
Similar for axis.text
:
ggplot(ind, aes(CPI, HDI, color = region)) + geom_jitter() + theme(axis.text = element_text(size = 20,
color = "blue"))
C.2.1 Axis elements
The axis elements control the appearance of the axes:
Element | Setter | Description |
---|---|---|
axis.line | element_line() |
line parallel to axis (hidden in default themes) |
axis.text | element_text() |
tick labels |
axis.text.x | element_text() |
x-axis tick labels |
axis.text.y | element_text() |
y-axis tick labels |
axis.title | element_text() |
axis titles |
axis.title.x | element_text() |
x-axis title |
axis.title.y | element_text() |
y-axis title |
axis.ticks | element_line() |
axis tick marks |
axis.ticks.length | unit() |
length of tick marks |
C.4 Legend
The appearance of the legend can be controlled with legend.text
and legend.title
.
base <- ggplot(ind, aes(CPI, HDI, color = region)) + geom_jitter()
base + theme(legend.text = element_text(size = 15), legend.title = element_text(size = 15,
face = "bold"))
The legend elements control the appearance of all legends. You can also modify the appearance of individual legends by modifying the same elements in guide_legend()
or guide_colourbar()
.
Element | Setter | Description |
---|---|---|
legend.background | element_rect() |
legend background |
legend.key | element_rect() |
background of legend keys |
legend.key.size | unit() |
legend key size |
legend.key.height | unit() |
legend key height |
legend.key.width | unit() |
legend key width |
legend.margin | unit() |
legend margin |
legend.text | element_text() |
legend labels |
legend.text.align | 0–1 | legend label alignment (0 = right, 1 = left) |
legend.title | element_text() |
legend name |
legend.title.align | 0–1 | legend name alignment (0 = right, 1 = left) |