Overview

ggrepel provides geoms for ggplot2 to repel overlapping text labels:

Text labels repel away from each other, away from data points, and away from edges of the plotting area.

library(ggrepel)
ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) +
  geom_text_repel() +
  geom_point(color = 'red') +
  theme_classic(base_size = 16)

Installation

# The easiest way to get ggrepel is to install it from CRAN:
install.packages("ggrepel")

# Or get the latest development version from GitHub:
# install.packages("devtools")
devtools::install_github("slowkow/ggrepel")

Getting help

Check out the examples to learn how to use ggrepel in your project.

See our collection of related work for similar R packages, Python packages, and more.

If you have an issue with ggrepel or ggplot2, someone might already have experienced it. Try searching the web, or create a new post:

  1. The RStudio community is an active forum with RStudio and R users.

  2. Stack Overflow has lots of questions and answers about ggplot2 and ggrepel.

Thanks

Thanks to everyone who has contributed pull requests, opened issues, asked questions, and shared examples!

And thanks to Allison Horst for the beautiful artwork!