I use R for just about everything, including exploratory data analysis and graphics. The only other package with which I have any familiarity is Mathematica. I’ve been generally satisfied with R graphics, although there are things that I always struggle with, such as:
- using expression() to get symbols and math expressions the way I want them;
- writing line labels at an angle so that they lie along the line (and then having to re-do this if I change the dimensions of the plot, e.g. by changing the margins);
- setting margins when I have multiple plots on a single figure, so that the axis labels fit but there is still enough room for the data;
- placing labels or legends where they don’t get in the way of the plot.
At least in my normal course of business, all of these issues only come up when I’m making publication-quality figures (or at least presentation-quality), not when I’m exploring the data or comparing the data to predictions. So I’ve always thought of R as being excellent for exploratory data analysis, and fair or poor for making publication-quality output. But sometimes I do find myself taking a lot of time on an exploratory plot (such as the example here), which is frustrating.
And then a friend mentioned that he thinks R is good for publication-quality graphics — you have precise control over everything — but is terrible for exploratory graphics, which is exactly the opposite of the way I think of it! He pointed that, aside from some crude things you can do with identify(), R’s graphics are non-interactive: you can’t click to remove bad data points, or zoom in and out, or click on a line and change its color or width. He said good exploratory graphics programs let you do all of these things. But here’s the kicker: he couldn’t name a good exploratory graphics program! He says he knows they exist, but he doesn’t know what they are.
So: what’s worth a look, besides R and Mathematica? Am I using R just because it’s what I’m used to (and it’s free), or is it actually the best thing out there, as I have always assumed?