Basketballgeek is exploring the relationship of several game statistics at home and away games. He uses R to illustrate these relationships from the NBA 08-09 regular season. One of the graphs is below. Instead of plotting all the 10 graphs one-by-one this post demonstrates how to achieve the same result and combine the graphs into one plot using the powerful facetting feature in ggplot2.

## Data

The first step after importing the supplied data file is to replace the codes of statistics with meaningful names, as these would be used as panel labels.

 `> library(ggplot2)`
 ```> df1 <- read.csv("2008.stats", header = T) > levels(df1\$stat) <- list(`FT%` = "ftp", `2FG%` = "2fgp", `3FG%` = "3fgp", `eFG%` = "efg", `OR%` = "orp", `DR%` = "drp", `TO/Poss` = "to_poss", `Fouled/Poss` = "fouled_poss", `Steal/Poss` = "steal_poss", `Foul/Poss` = "foul_poss")```

## Plots

Each small panel shows the data with the fitted linear models. The first plot has fixed x&y axis, whereas in the second plot each of the panels has varying axes limits, in my view providing a little more insight into the data.

### Plot 1 with equal x & y axis limits

 ```> ggplot(df1, aes(home, away)) + geom_point(shape = 1) + geom_smooth(method = "lm", se = FALSE, fullrange = T) + facet_wrap(~stat, ncol = 2) + labs(x = "Home", y = "Away") + theme_bw()``` ### Plot 2 with varying x & y axis limits

 ```> last_plot() + facet_wrap(~stat, ncol = 2, scales = "free") + coord_equal()``` 1. 