Use the fill
aesthetic, see this example:
library(ggplot2)
zoo <- data.frame(stringsAsFactors=FALSE,
Rainfall = c(15, 53.7, 12.9, 4.1, 76.9, 0, 0, 15.9, 0, 0,
12, 54.3, 11, 3.2, 67.4, 1, 2, 14, 0, 1),
Month = c("Jan", "Jan", "Jan", "Jan", "Jan", "Feb", "Feb", "Feb", "Feb", "Feb",
"Jan", "Jan", "Jan", "Jan", "Jan", "Feb", "Feb", "Feb" , "Feb", "Feb"),
Station = c("Island", "Island", "Island", "Island", "Island", "Island",
"Island", "Island", "Island", "Island", "Inland", "Inland", "Inland",
"Inland", "Inland", "Inland", "Inland", "Inland", "Inland", "Inland"),
Year = c(1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993)
)
ggplot(zoo, aes(x = Month, y = Rainfall, fill = Station)) +
geom_boxplot()
If you need more specific help, please provide a proper REPRoducible EXample (reprex) illustrating your issue.