Site icon Spark By {Examples}

How to Make a Line Graph in r using ggplot2?

line graph in r ggplot

To make a line graph in R you can use the ggplot() function from the ggplot2 package. This package provides a powerful and flexible framework for constructing various types of plots written by Hadley Wickham and is also termed as Grammar of Graphics is a free, open-source, and easy-to-use visualization package widely used in R Programming Language.

In this tutorial, I will explain the process of creating basic line graphs using ggplot2 and demonstrate how to customize them by adding points, changing line types, colors, sizes, and more with well-defined examples.

Key points-

Create a Basic Line Graph using R ggplot

Let’s create a simple dataset with time points (Time) and corresponding random cumulative values (Value) and use the data.frame function to create a data frame from given data.


# Create a data frame
set.seed(123)
df1 <- data.frame(
  Time = 1:10,
  Value = cumsum(rnorm(10))
)
df1

Yields below output.

line graph in r ggplot

The ggplot() function is used to initiate the plot, by specifying the x and y-axis aesthetics using aes(), add a line with geom_line(), and set a title with ggtitle(). Before using ggplot(), make sure to install the ggplot2 package by running install.packages("ggplot2"), then load it into your R environment with library(ggplot2).


# Create a line graph
# Install and load the ggplot2 package 
# install.packages("ggplot2")
library(ggplot2)
ggplot(df1, aes(x = Time, y = Value)) +
  geom_line() +
  ggtitle("Basic Line Graph")

Yields below output.

line graph in r ggplot

Creating a Line Graph with Custom Colors and Styles in R ggplot

You can customize a line graph in ggplot2 by adjusting the type of lines, their colors, and their size. To achieve this, you can use the geom_line() function, where the linetype, color, and size parameters to define the line style, color, and size, respectively.

Line Style

In ggplot2, R offers various line types that allow you to customize the appearance of line graphs. Examples include dotted lines, double dashes, and regular dashed lines. To use these styles, pass the desired line type to the linetype parameter.


# Customize the line type
library(ggplot2)
ggplot(df1, aes(x=Time, y=Value, group=1)) +
  geom_line(linetype = "dotted")+
  ggtitle("Basic Line Graph")

Yields below output.

line graph in r ggplot

Customize the Line Color

To visualize a line graph in your chosen color, include the color argument in geom_line(), with the color name enclosed in double quotes (” “). This will produce a line graph with the specified color.


# Customize the the line color
ggplot(df1, aes(x=Time, y=Value, group=1)) +
  geom_line(color = "orange")+
  ggtitle("Basic Line Graph")

Yields below output.

make a line graph in r

Customize the Line Size

You can adjust the size of the line in a line graph by setting the size parameter within the geom_line() function.


# Customize the line size
ggplot(df1, aes(x=Time, y=Value, group=1)) + 
  geom_line(color = "orange", size = 2)+ 
  ggtitle("Basic Line Graph")

Yields below output.

make a line graph in r

Adding Points to the Line Graph using ggplot

You can also add points to a line graph by using the geom_point() of the ggplot. Including this layer of points can improve the plot’s clarity and draw attention to particular data values.


# Adding points to the line plot
library(ggplot2)
ggplot(df1, aes(x = Time, y = Value)) +
  geom_line() +
  geom_point() +
  ggtitle("Basic Line Graph") 

Yields below output.

make a line graph in r

Get Smooth Line (Loess)

You can add a smooth line (Loess) to your plot with geom_smooth(). This is useful for identifying data trends and gaining a clearer understanding of the overall pattern.


# Adding a smooth line (Loess) to the plot
ggplot(df1, aes(x = Time, y = Value)) +
  geom_line() +
  geom_smooth() +
  ggtitle("Basic Line Graph") 

Yields below output.

make a line graph in r

Adding Specific Ranges of Line Graph

To add specific data ranges, you can adjust the axis limits. By setting ylim(), you can define the desired y-axis boundaries, which ensures that the graph displays only the data within those limits.


# Customizing axis limits
ggplot(df1, aes(x = Time, y = Value)) +
  geom_line() +
  ylim(c(-5, 15)) +
  ggtitle("Basic Line Graph") 

Yields below output.

line graph using ggplot

Draw Multiple Line Graphs using ggplot

The ggplot2 package is a useful tool for creating line plots with multiple lines. To create such plots, you can use a simple dataset with three columns: one for the x-axis, one for the y-axis, and a third column for grouping. With this dataset, you can easily generate a plot with multiple lines.


# Create a line graph with multiple lines for each group
library(ggplot2)

# Sample dataset
data <- data.frame(
  Time = rep(seq(1, 10), each = 3),
  Value = rnorm(30),
  Group = rep(c("A", "B", "C"), each = 10)
)
data

# Create a line graph with multiple lines for each group
ggplot(data, aes(x = Time, y = Value, color = Group)) +
  geom_line() +
  labs(title = "Multiple Line Graphs",
       x = "Time",
       y = "Value") +
  theme_minimal()

Yields below output.

line graph using ggplot

Conclusion

In this article, I have explained the creation and customization of line graphs using ggplot2 in R empowers you to communicate your data insights effectively. Whether adjusting line types, and colors or incorporating additional layers, the ggplot2 package provides a versatile and intuitive platform for crafting compelling visualizations. Experimenting with different customization options allows you to tailor your line graphs to effectively convey the story behind your data.

Happy learning!!

References

Exit mobile version