One of the powerful features of R is its functions for generating high-quality plots and visualize data. The graphics functions in R can be divided into three groups:

High-level plotting functions to create new plots, add axes, labels, and titles.

Low-level plotting functions to add more information to an existing plot. This includes adding extra points, lines, and labels.

Interactive graphics functions to interactively add information to, or extract information from, an existing plot.

The R base package itself contains several graphics functions. For more advanced graph applications, one can use packages such as
**ggplot2**, **grid**, or **lattice**. In particular, ggplot2 is very useful for generating visually appealing, multilayered graphs. It is based on the concept of *grammar of graphics*. Due to lack of space, we are not covering these packages in this book. Interested readers should consult the book by Hadley Wickham (reference 4 in the *References* section of this chapter).