⚠️There's a newer version (0.9.5) of this package. Take me there.

ggrepel

ggrepel provides geoms for ggplot2 to repel overlapping text labels.

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

Usage

See the vignette for more usage examples.

Also, look at the help pages:

?geom_text_repel
?geom_label_repel

Installation

Install the latest stable release from CRAN:

install.packages("ggrepel")

Alternatively, install the latest development version from github:

install.packages("devtools")
devtools::install_github("slowkow/ggrepel")

Contributing

Please submit an issue to report bugs or ask questions.

Please contribute bug fixes or new features with a pull request to this repository.

Related work

directlabels

This package is an attempt to make direct labeling a reality in everyday statistical practice by making available a body of useful functions that make direct labeling of common plots easy to do with high-level plotting systems such as lattice and ggplot2. The main function that the package provides is direct.label(p), which takes a lattice or ggplot2 plot p and adds direct labels.

wordcloud

Pretty word clouds.

The wordcloud package implements a spiraling algorithm to prevent text labels from overlapping each other.

FField

Force field simulation of interaction of set of points. Very useful for placing text labels on graphs, such as scatterplots.

I found that functions in the FField package were not ideal for repelling overlapping rectangles, so I wrote my own.

See this gist for examples of how to use the wordcloud and FField packages with ggplot2.

Copy Link

Version

Down Chevron

Install

install.packages('ggrepel')

Monthly Downloads

267,664

Version

0.5

License

GPL-2

Issues

Pull Requests

Stars

Forks

Last Published

February 8th, 2016

Functions in ggrepel (0.5)