资源说明:Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Welcome to ggplot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Other resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 What is the grammar of graphics? . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 How does ggplot2 fit in with other R graphics? . . . . . . . . . . . . . 4
1.5 About this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Getting started with qplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Basic use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Colour, size, shape and other aesthetic attributes . . . . . . . . . . . . 12
2.5 Plot geoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5.1 Adding a smoother to a plot . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.2 Boxplots and jittered points . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.3 Histogram and density plots . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.4 Bar charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.5 Time series with line and path plots . . . . . . . . . . . . . . . . . 20
2.6 Faceting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Other options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Differences from plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Mastering the grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Fuel economy data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Building a scatterplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 A more complex plot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5 Components of the layered grammar . . . . . . . . . . . . . . . . . . . . . . . 35
3.5.1 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.2 Scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.3 Coordinate system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5.4 Faceting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Build a plot layer by layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Creating a plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 Aesthetic mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5.1 Plots and layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5.2 Setting vs. mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5.3 Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.5.4 Matching aesthetics to graphic objects . . . . . . . . . . . . . . . 52
4.6 Geoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.7 Stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.8 Position adjustments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.9 Pulling it all together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.9.1 Combining geoms and stats . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.9.2 Displaying precomputed statistics . . . . . . . . . . . . . . . . . . . 62
4.9.3 Varying aesthetics and data . . . . . . . . . . . . . . . . . . . . . . . . 62
5 Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Overall layering strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Basic plot types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.4 Displaying distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.5 Dealing with overplotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6 Surface plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.7 Drawing maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.8 Revealing uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.9 Statistical summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.9.1 Individual summary functions . . . . . . . . . . . . . . . . . . . . . . . 84
5.9.2 Single summary function . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.10 Annotating a plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.11 Weighted data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6 Scales, axes and legends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2 How scales work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.3 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.4 Scale details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.1 Common arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.4.2 Position scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.3 Colour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.4.4 The manual discrete scale . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.4.5 The identity scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.5 Legends and axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.6 More resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Faceting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2.1 Facet grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2.2 Facet wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.2.3 Controlling scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.2.4 Missing faceting variables . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.5 Grouping vs. faceting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.6 Dodging vs. faceting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2.7 Continuous variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.3 Coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.3.1 Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.3.2 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.3 Cartesian coordinate systems . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.4 Non-Cartesian coordinate systems . . . . . . . . . . . . . . . . . . . 136
8 Polishing your plots for publication . . . . . . . . . . . . . . . . . . . . . . . . 139
8.1 Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.1.1 Built-in themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.1.2 Theme elements and element functions . . . . . . . . . . . . . . . 142
8.2 Customising scales and geoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2.1 Scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2.2 Geoms and stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.3 Saving your output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.4 Multiple plots on the same page . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.4.1 Subplots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.4.2 Rectangular grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9 Manipulating data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.1 An introduction to plyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.1.1 Fitting multiple models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.2 Converting data from wide to long . . . . . . . . . . . . . . . . . . . . . . . . . 164
9.2.1 Multiple time series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
9.2.2 Parallel coordinates plot. . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.3 ggplot() methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.3.1 Linear models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
9.3.2 Writing your own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10 Reducing duplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.2 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.3 Plot templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.4 Plot functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。