Welcome! In today's lesson, we are diving into styling plots. Styling is crucial to make plots visually attractive and insightful. We will delve into various aspects of plot style with R's ggplot2
, enhancing the aesthetics of our plots as we progress. Let's get started!
In ggplot2
, each plot can be styled differently. Here's an example with a basic line plot:
R1library(ggplot2) 2x = c(1, 2, 3, 4, 5) 3y = c(1, 4, 9, 16, 25) 4df = data.frame(x, y) 5plot <- ggplot(df, aes(x = x, y = y)) + geom_line()
Have you ever wanted to change these defaults? Fortunately, ggplot2
allows you to do just that with the color
and linetype
parameters:
R1plot <- ggplot(df, aes(x = x, y = y)) + 2geom_line(color = "red", linetype = "dashed")
Voila! Our line is now red and dashed!
The fun part is that ggplot2
offers many color options (like 'green', 'blue', 'cyan', etc.) and line types (like 'solid', 'dotted', 'dashed', etc.). This flexibility allows you to create personalized and differentiated line plots.
Markers can significantly enhance your plot's aesthetics and readability by highlighting the data points. With ggplot2
, we can add markers using the geom_point
function and the shape
parameter:
R1plot <- ggplot(df, aes(x = x, y = y)) + 2geom_line(color = "red", linetype = "dashed") + 3geom_point(shape = 1)
Commonly used markers include 1
(circle), 4
(cross), 8
(star), 15
(filled square), 18
(plus), and more.
Good labels make plots easy to understand. Let's add a title, x-label, y-label, and a legend to our plot to make it more self-explanatory:
R1plot <- ggplot(df, aes(x = x, y = y)) + 2geom_line(color = "red", linetype = "dashed") + 3labs(title = "Square Numbers", x = "Numbers", y = "Squares")
Our plot now carries much more information!
You may want to focus on a particular region in your plot. ggplot2
lets us limit the ranges shown on the x- and y-axes using scale_x_continuous
and scale_y_continuous
. Additionally, it allows us to set the ticks using breaks
. Let's try them out:
R1plot <- ggplot(df, aes(x = x, y = y)) + 2geom_line(color = "red", linetype = "dashed", aes(linetype = "Dashed Line")) + 3labs(title = "Square Numbers", x = "Numbers", y = "Squares") + 4scale_x_continuous(limits=c(2, 5), breaks=c(2, 3, 4, 5)) + 5scale_y_continuous(limits=c(4, 25), breaks=seq(4, 25, 5))
limits
: Specifies the range of the axis. For example, limits=c(2, 5)
restricts the x-axis to values between 2 and 5, while limits=c(4, 25)
restricts the y-axis to values between 4 and 25.
breaks
: Defines where ticks are placed. For example, breaks=c(2, 3, 4, 5)
places ticks at 2, 3, 4, and 5 on the x-axis. breaks=seq(4, 25, 5)
places ticks at 4, 9, 14, 19, and 24 on the y-axis.
Our plot now displays squares of numbers from 2
to 5
.
Congratulations! You've mastered plot styling with ggplot2
and R and learned how to customize multiple aspects of your visuals. The exercises that follow will reinforce your understanding and expertise in R data visualization. Are you ready to proceed? We certainly are. Let's dive into the practice problems!