E Styling Plots
E.1 Aesthetics
E.1.1 Colour/Fill
The colour
argument changes the point and line colour, while the fill
argument changes the interior colour of shapes. Type colours()
into the console to see a list of all the named colours in R. Alternatively, you can use hexadecimal colours like "#FF8000"
or the rgb()
function to set red, green, and blue values on a scale from 0 to 1.
Hover over a colour to see its R name.
- black
- gray1
- gray2
- gray3
- gray4
- gray5
- gray6
- gray7
- gray8
- gray9
- gray10
- gray11
- gray12
- gray13
- gray14
- gray15
- gray16
- gray17
- gray18
- gray19
- gray20
- gray21
- gray22
- gray23
- gray24
- gray25
- gray26
- gray27
- gray28
- gray29
- gray30
- gray31
- gray32
- gray33
- gray34
- gray35
- gray36
- gray37
- gray38
- gray39
- gray40
- dimgray
- gray42
- gray43
- gray44
- gray45
- gray46
- gray47
- gray48
- gray49
- gray50
- gray51
- gray52
- gray53
- gray54
- gray55
- gray56
- gray57
- gray58
- gray59
- gray60
- gray61
- gray62
- gray63
- gray64
- gray65
- darkgray
- gray66
- gray67
- gray68
- gray69
- gray70
- gray71
- gray72
- gray73
- gray74
- gray
- gray75
- gray76
- gray77
- gray78
- gray79
- gray80
- gray81
- gray82
- gray83
- lightgray
- gray84
- gray85
- gainsboro
- gray86
- gray87
- gray88
- gray89
- gray90
- gray91
- gray92
- gray93
- gray94
- gray95
- gray96
- gray97
- gray98
- gray99
- white
- snow4
- snow3
- snow2
- snow
- rosybrown4
- rosybrown
- rosybrown3
- rosybrown2
- rosybrown1
- lightcoral
- indianred
- indianred4
- indianred2
- indianred1
- indianred3
- brown4
- brown
- brown3
- brown2
- brown1
- firebrick4
- firebrick
- firebrick3
- firebrick1
- firebrick2
- darkred
- red3
- red2
- red
- mistyrose3
- mistyrose4
- mistyrose2
- mistyrose
- salmon
- tomato3
- coral4
- coral3
- coral2
- coral1
- tomato2
- tomato
- tomato4
- darksalmon
- salmon4
- salmon3
- salmon2
- salmon1
- coral
- orangered4
- orangered3
- orangered2
- lightsalmon3
- lightsalmon2
- lightsalmon
- lightsalmon4
- sienna
- sienna3
- sienna2
- sienna1
- sienna4
- orangered
- seashell4
- seashell3
- seashell2
- seashell
- chocolate4
- chocolate3
- chocolate
- chocolate2
- chocolate1
- linen
- peachpuff4
- peachpuff3
- peachpuff2
- peachpuff
- sandybrown
- tan4
- peru
- tan2
- tan1
- darkorange4
- darkorange3
- darkorange2
- darkorange1
- antiquewhite3
- antiquewhite2
- antiquewhite1
- bisque4
- bisque3
- bisque2
- bisque
- burlywood4
- burlywood3
- burlywood
- burlywood2
- burlywood1
- darkorange
- antiquewhite4
- antiquewhite
- papayawhip
- blanchedalmond
- navajowhite4
- navajowhite3
- navajowhite2
- navajowhite
- tan
- floralwhite
- oldlace
- wheat4
- wheat3
- wheat2
- wheat
- wheat1
- moccasin
- orange4
- orange3
- orange2
- orange
- goldenrod
- goldenrod1
- goldenrod4
- goldenrod3
- goldenrod2
- darkgoldenrod4
- darkgoldenrod
- darkgoldenrod3
- darkgoldenrod2
- darkgoldenrod1
- cornsilk
- cornsilk4
- cornsilk3
- cornsilk2
- lightgoldenrod4
- lightgoldenrod3
- lightgoldenrod
- lightgoldenrod2
- lightgoldenrod1
- gold4
- gold3
- gold2
- gold
- lemonchiffon4
- lemonchiffon3
- lemonchiffon2
- lemonchiffon
- palegoldenrod
- khaki
- darkkhaki
- khaki4
- khaki3
- khaki2
- khaki1
- ivory4
- ivory3
- ivory2
- ivory
- beige
- lightyellow4
- lightyellow3
- lightyellow2
- lightyellow
- lightgoldenrodyellow
- yellow4
- yellow3
- yellow2
- yellow
- olivedrab
- olivedrab4
- olivedrab3
- olivedrab2
- olivedrab1
- darkolivegreen
- darkolivegreen4
- darkolivegreen3
- darkolivegreen2
- darkolivegreen1
- greenyellow
- chartreuse4
- chartreuse3
- chartreuse2
- lawngreen
- chartreuse
- honeydew4
- honeydew3
- honeydew2
- honeydew
- darkseagreen4
- darkseagreen
- darkseagreen3
- darkseagreen2
- darkseagreen1
- lightgreen
- palegreen
- palegreen4
- palegreen3
- palegreen1
- forestgreen
- limegreen
- darkgreen
- green4
- green3
- green2
- green
- mediumseagreen
- seagreen
- seagreen3
- seagreen2
- seagreen1
- mintcream
- springgreen4
- springgreen3
- springgreen2
- springgreen
- aquamarine3
- aquamarine2
- aquamarine
- mediumspringgreen
- aquamarine4
- turquoise
- mediumturquoise
- lightseagreen
- azure4
- azure3
- azure2
- azure
- lightcyan4
- lightcyan3
- lightcyan2
- lightcyan
- paleturquoise
- paleturquoise4
- paleturquoise3
- paleturquoise2
- paleturquoise1
- darkslategray
- darkslategray4
- darkslategray3
- darkslategray2
- darkslategray1
- cyan4
- cyan3
- darkturquoise
- cyan2
- cyan
- cadetblue4
- cadetblue
- turquoise4
- turquoise3
- turquoise2
- turquoise1
- powderblue
- cadetblue3
- cadetblue2
- cadetblue1
- lightblue4
- lightblue3
- lightblue
- lightblue2
- lightblue1
- deepskyblue4
- deepskyblue3
- deepskyblue2
- deepskyblue
- skyblue
- lightskyblue4
- lightskyblue3
- lightskyblue2
- lightskyblue1
- lightskyblue
- skyblue4
- skyblue3
- skyblue2
- skyblue1
- aliceblue
- slategray
- lightslategray
- slategray3
- slategray2
- slategray1
- steelblue4
- steelblue
- steelblue3
- steelblue2
- steelblue1
- dodgerblue4
- dodgerblue3
- dodgerblue2
- dodgerblue
- lightsteelblue4
- lightsteelblue3
- lightsteelblue
- lightsteelblue2
- lightsteelblue1
- slategray4
- cornflowerblue
- royalblue
- royalblue4
- royalblue3
- royalblue2
- royalblue1
- ghostwhite
- lavender
- midnightblue
- navy
- blue4
- blue3
- blue2
- blue
- darkslateblue
- slateblue
- mediumslateblue
- lightslateblue
- slateblue1
- slateblue4
- slateblue3
- slateblue2
- mediumpurple4
- mediumpurple3
- mediumpurple
- mediumpurple2
- mediumpurple1
- purple4
- purple3
- blueviolet
- purple1
- purple2
- purple
- darkorchid
- darkorchid4
- darkorchid3
- darkorchid2
- darkorchid1
- darkviolet
- mediumorchid4
- mediumorchid3
- mediumorchid
- mediumorchid2
- mediumorchid1
- thistle4
- thistle3
- thistle
- thistle2
- thistle1
- plum4
- plum3
- plum2
- plum1
- plum
- violet
- darkmagenta
- magenta3
- magenta2
- magenta
- orchid4
- orchid3
- orchid
- orchid2
- orchid1
- maroon4
- violetred
- maroon3
- maroon2
- maroon1
- mediumvioletred
- deeppink3
- deeppink2
- deeppink
- deeppink4
- hotpink2
- hotpink1
- hotpink4
- hotpink
- violetred4
- violetred3
- violetred2
- violetred1
- hotpink3
- lavenderblush4
- lavenderblush3
- lavenderblush2
- lavenderblush
- maroon
- palevioletred4
- palevioletred3
- palevioletred
- palevioletred2
- palevioletred1
- pink4
- pink3
- pink2
- pink1
- pink
- lightpink
- lightpink4
- lightpink3
- lightpink2
- lightpink1
E.2 Palettes
Discrete palettes change depending on the number of categories.

Figure E.4: Default discrete palette with different numbers of levels.
E.2.1 Viridis Palettes
Viridis palettes are very good for colourblind-safe and greyscale-safe plots. The work with any number of categories, but are best for larger numbers of categories or continuous colours.
E.2.1.1 Discrete Viridis Palettes
Set discrete viridis colours with scale_colour_viridis_d()
or scale_fill_viridis_d()
and set the option
argument to one of the options below. Set direction = -1
to reverse the order of colours.

Figure E.5: Discrete viridis palettes.
If the end colour is too light for your plot or the start colour too dark, you can set the begin
and end
arguments to values between 0 and 1, such as scale_colour_viridis_c(begin = 0.1, end = 0.9)
.
E.2.1.2 Continuous Viridis Palettes
Set continuous viridis colours with scale_colour_viridis_c()
or scale_fill_viridis_c()
and set the option
argument to one of the options below. Set direction = -1
to reverse the order of colours.

Figure E.6: Continuous viridis palettes.
E.2.2 Brewer Palettes
Brewer palettes give you a lot of control over plot colour and fill. You set them with scale_color_brewer()
or scale_fill_brewer()
and set the palette
argument to one of the palettes below. Set direction = -1
to reverse the order of colours.
E.2.2.1 Qualitative Brewer Palettes
These palettes are good for categorical data with up to 8 categories (some palettes can handle up to 12). The "Paired" palette is useful if your categories are arranged in pairs.

Figure E.7: Qualitative brewer palettes.
E.2.2.2 Sequential Brewer Palettes
These palettes are good for up to 9 ordinal categories with a lot of categories.

Figure E.8: Sequential brewer palettes.
E.2.2.3 Diverging Brewer Palettes
These palettes are good for ordinal categories with up to 11 levels where the centre level is a neutral or baseline category and the levels above and below it differ in an important way, such as agree versus disagree options.

Figure 2.6: Diverging brewer palettes.
E.3 Themes
ggplot2
has 8 built-in themes that you can add to a plot like plot + theme_bw()
or set as the default theme at the top of your script like theme_set(theme_bw())
.

Figure E.9: {ggplot2} themes.
E.3.1 ggthemes
You can get more themes from add-on packages, like ggthemes
. Most of the themes also have custom scale_
functions like scale_colour_economist()
. Their website has extensive examples and instructions for alternate or dark version sof these themes.

Figure E.10: {ggthemes} themes.