How to Do Basic Arithmetic in R
How to Save Graphics to an Image File in R
How R Calculates Infinite, Undefined, and Missing Values

How to Add Color and a Key to Lattice Charts in R

Many lattice graphics types in R — but bar charts in particular — tend to display multiple groups of data at the same time. Usually, you can distinguish different groups by their color or sometimes their shading. If you ever want to add different colors to your plot to distinguish between different data, you need to define groups in your lattice plot and then add a key so the reader knows what they mean.

How to define groups in your lattice plot

Say you want to create a bar chart that differentiates whether a car has an automatic or manual gearbox. The mtcars dataset has a column with this data, called am — this is a numeric vector with the value 0 for automatic and 1 for manual. You can use the ifelse() function to convert from numeric values to a character values "Automatic" and "Manual":

> mtcars$cars <- rownames(mtcars)
> mtcars$am <- with(mtcars, ifelse(am==0, "Automatic", "Manual"))

Now you plot your data using the same formula as before, but you need to add an argument defining the group, group=am.

> barchart(cars ~ mpg | factor(cyl), data=mtcars,
+   group=am,
+   scales=list(cex=0.5),
+   layout=c(3, 1),
+ )

When you run this code, you’ll get your desired bar chart. However, the first thing you’ll notice is that the colors look a bit washed out and you don’t have a key to distinguish between automatic and manual cars.

How to add a key

It is easy to add a key to a graphic that already contains a group argument. Usually, it’s as simple as adding another argument, auto.key=TRUE, which automatically creates a key that matches the groups:

> barchart(cars ~ mpg | factor(cyl), data=mtcars,
+   main="barchart with groups",
+   group=am,
+   auto.key=TRUE,
+   par.settings = simpleTheme(col=c("grey80", "grey20")),
+   scales=list(cex=0.5),
+   layout=c(3, 1)
+ )

One more thing to notice about this specific example is the arguments for par.settings to control the color of the bars. In this case, the colors are shades of gray.

image0.jpg
  • Add a Comment
  • Print
  • Share
blog comments powered by Disqus
How to Count Unique Data Values in R
ggplot2 in R: How to Map Data to Lines, Points, Symbols and More
How to Summarize Logical Vectors in R
How to Plot Summarized Data in a ggplot2 in R
How to Read Errors and Warnings in R
Advertisement

Inside Dummies.com