2 Scatter

In this chapter, we introduce the scatter plot in ggplot2 style.

2.1 basic scatter

We use the iris dataset for illustration.

library(ggplot2)

data(iris)
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

basic scatter plot

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) + 
    geom_point()

2.2 With color

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) + 
    geom_point(aes(color=Species))

2.2.1 Change color

you can manually change the color with scale_color_manual, noted the number of color should equals to the number of groups (3 in this case).

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) + 
  geom_point(aes(color=Species)) +
  scale_color_manual(values=c("black", "blue", "red"))

2.3 With selected text label

We can label selected points, such as those setosa with sepal length > 5.5

iris$Mark <- ifelse(iris$Species == "setosa" & iris$Sepal.Length > 5.5, 
                    "M", "")

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) + 
  geom_point(aes(color=Species)) +
  geom_text(aes(label=Mark))