SIMPLE USAGE OF TRADITIONAL GRAPHICS The traditional graphics model Plots of one or two variables Plots ofmultiple variables Modern plots and specialized plots Interactive graphics CUSTOMIZING TRADITIONAL GRAPHICS The traditional graphics model in more detail Controlling the appearance of plots Arranging multiple plots Annotating plots Creating new plots
TRELLIS GRAPHICS: THE LATTICE PACKAGE The lattice graphics model Lattice plot types Controlling the appearance of lattice plots Arranging lattice plots Annotating lattice plots Creating new lattice plots THE GRID GRAPHICS MODEL A brief overview of grid graphics Graphical primitives Coordinate systems Controlling the appearance of output Viewports Missing values and non-finite values Interactive graphics Customizing lattice plots THE GRID GRAPHICS OBJECT MODEL Working with graphical output Grob lists, trees, and paths Working with graphical objects off-screen Placing and packing grobs in frames Other details about grobs Saving and loading grid graphics Working with lattice grobs DEVELOPING NEW GRAPHICS FUNCTIONS AND OBJECTS An example Simple graphics functions Graphical objects Querying grid
APPENDIX A: A BRIEF INTRODUCTION TO R Obtaining and installing R An environment for statistical computing and graphics A programming language
APPENDIX B: COMBINING TRADITIONAL GRAPHICS AND GRID GRAPHICS The gridBase package
For me as biologist, it is very important to have easy acces to information about R-functions and R-graphics. This is exactly what I found in this book, a very easy and profound introduction to R-graphics with all the functions needed for Traditional graphics and the more advanced Trellis/Grid graphics. As I do not need to create more complicated graphics then common histograms, boxplots and barplots with Traditional and Trellis graphics, I do not use the chapters on the Grid Graphics Model etc., but I guess that also this part is very easy to understand. Figures shown in the book are informative and can serve as examples how to present your data. Any R-functions needed are within can be found in the text.
Although you can find any R-functions for graphics on the web, this book, which goes through the whole process of creating graphics, is a very convenient tool to use. And this is also true for R-beginners, such as I was recently.
Advanced grid coverage, thin lattice coverage
For the most part, I've stopped using traditional R graphics. I use lattice for most of my work, and I'm not writing new graphics functions.
By page count, this book devotes ~40% to traditional R graphics, 10% to lattice, and 40% to grid, in that order. The traditional graphics coverage is good, with interesting material on margins and other layout arcana. The grid coverage is quite technical, targeted largely at developers and power-users. The 10% lattice isn't especially illuminating. The grid material does inform the mechanisms behind lattice, and show how to mix grid and lattice. The traditional graphics material, does not apply to either grid or lattice.
If you're like me, this book isn't a good `first book`. It covers the basics (which i'm comfortable with) and the complex (which i don't usually need), without a lot of middle ground, especially with respect to lattice. A good alternative might be `Lattice: Multivariate Data Visualization with R by Deepayan Sarkar` or ggplot2: Elegant Graphics for Data Analysis (Use R) by Hadley Wickham.
This book is well-written, and the grid coverage is thorough, but it could use a more descriptive title.
Good, not great
R is a free software system that runs under Windows, Linux, and the Mac OS. R comprises a programming language, considerable support for statistical computing, and a set of powerful graphics functions. Murrell's book is about graphics.
Graphics in R is done using various packages. One is `graphics`, and its description occupies the first half of Murrell's book. But these days `graphics` is looking a little long in the tooth, and contains a number of infelicities that can't be changed because of all the old legacy code out there. Murrell himself wrote `grid` to fix this problem; `grid` is more general and better organized, but its functions are a toolkit for creating graphics; he's only built the tools, not assembled all the elements into simple and easy-to-use high-level plotting functions that `graphics` has. `Grid` occupies the second half of this book. Sandwiched in the middle is a chapter about `Lattice` (by Deepayan Sarkar); Murrell's chapter provides a brief overview, in part because lattice is built on grid, but lattice is better described by the online documentation, Sarkar's own book, and the books by William Cleveland, which introduced the whole idea of conditioned plotting of multivariate data. There's also an helpful (but brief) appendix describing how to get `graphics` and `grid` to work together, and an introduction to programming in R, which is too brief to be of much use of novices, and not detailed enough to help more advanced users.
What's good: Although R comes with on-line documentation, the style of documentation for R is to describe the inputs and outputs of individual functions, but not provide much in the way of a conceptual overview. Murrell provides such an overview. Especially useful are a set of diagrams showing the various coordinate systems, lists of the line types and plotting symbols, and tables of the graphics state parameters. You could probably puzzle this out for yourself with just the built-in documentation, but Murrell's book will save you time and headaches. Also, his website has all the code that produced the book's figures, which can be quite instructive.
What's bad: The description of the `graphics` package is incomplete, and the book's index is just terrible, which makes it hard to find things. Just as an example, if you want to see what the `mai` graphics parameter does, you should be able find it in the index under either `mai` or `par`, a function which sets such parameters. There is a function index, but the functions are listed by package, not in a single, alphebetical list. If you know enough to find `par` under the graphics package in the index, then you get referred to a 30-page block of text. You won't find `mai` in the index at all. Nearly useless.
Overall: R has a very powerful programmable graphics system. This book will help you use it. This book could be more complete, and begs for a decent index. A good example of a well-written and thorough book about a computer language is Guy Steele's Common Lisp; the R community hasn't gotten quite to that level yet.
Not for a Beginner
I am new to R and needed to create a particular style of heat map for a project. I spent 3 weeks studying this book's table of contents, sample chapter, examples on the author's website, etc. until the day came when I needed prepare my presentation. So I went ahead and bought the book. It was not what I needed and, in fact, I have not found it useful in the 2 months that I have owned it. Before the book even arrived I discovered the R Graph Gallery ([,,.]), which has a heat map that met my needs. My advice to those who are beginning to learn R is to be patient and use the many free, high-quality resources available on the internet for perhaps up to a year before starting to buy books.
Not a how-to or cookbook for R graphics
The book provides a good introduction to the R graphics system and gives a very good presentation of the kinds of graphs you can generate using R. This book is definitely not a how-to or cookbook for R graphics though. The book assumes the reader is already familiar with R and the graphics related commands, so there's not much explanation of the short code snippets that go along with the figures. If you're new to R, this book won't show you how to create graphs. It will show you the graphing capabilities of R though and possibly get you interested enough to keep using R.
If you do know R, what this book *will* show you is how to do more complex things with R graphics. Half the book covers the traditional graphics model, while the other half covers the Grid and Trellis graphics models. This will be the interesting part of the book because Grid and Trellis look like they let users create really neat graphs and data representations with R.
I would have liked to see some more complete examples in the book, but at least there's an accompanying website that contains all the code used to generate the graphs and errata for the book. This would be a good addition to an R user's bookshelf.