Catalog PyPI
Back to packageRELEASE DETAILS

1.4.0

PyPI

adjustText

Iteratively adjust text position in matplotlib plots to minimize overlaps

Published8 Jun 2026
Direct dependencies3
Transitive dependenciesNot calculated

README

Version 1.4.0 documentation

Documentation Status Mutable.ai Auto Wiki Gitter chat DOI PyPI version

adjustText - automatic label placement for matplotlib

Inspired by ggrepel package for R/ggplot2 (https://github.com/slowkow/ggrepel) Alt text

Alternative: textalloc https://github.com/ckjellson/textalloc

Brief description

The idea is that often when we want to label multiple points on a graph the text will start heavily overlapping with both other labels and data points. This can be a major problem requiring manual solution. However this can be largely automatized by smart placing of the labels (difficult) or iterative adjustment of their positions to minimize overlaps (relatively easy). This library (well... script) implements the latter option to help with matplotlib graphs. Usage is very straightforward with usually pretty good results with no tweaking (most important is to just make text slightly smaller than default and maybe the figure a little larger). However the algorithm itself is highly configurable for complicated plots.

Getting started

Installation

Should be installable from pypi:

pip install adjustText

Or with conda:

conda install -c conda-forge adjusttext 

For the latest version from github:

pip install https://github.com/Phlya/adjustText/archive/master.zip

Documentation

Wiki has some basic introduction, and more advanced usage examples can be found here.

Thanks to Christophe Van Neste @beukueb, adjustText has a simple documentation: http://adjusttext.readthedocs.io/en/latest/

Citing adjustText

To cite the library if you use it in scientific publications (or anywhere else, if you wish), please use the link to the GitHub repository (https://github.com/Phlya/adjustText) and a zenodo doi (see top of this page). Thank you!

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 3

Native requirements
3 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
numpyruntime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
matplotlibruntime
scipy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
scipyruntime

Distribution files

2 collected
adjusttext-1.4.0-py3-none-any.whl

bdist_wheel · 12.95 KB · Python py3

Source file
adjusttext-1.4.0.tar.gz

sdist · 15.48 KB · Python source

Source file

Repository

PENDING
phlya/adjusttext

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:36 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:f516cb5fdf4e32db888e84cd0a02271e53de6fe6c78d74d72f2bd6a09605dbc3

Other collected versions

View all collected versions →