Skip to main content

Iteratively adjust text position in matplotlib plots to minimize overlaps

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adjusttext-1.4.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adjusttext-1.4.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file adjusttext-1.4.0.tar.gz.

File metadata

  • Download URL: adjusttext-1.4.0.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for adjusttext-1.4.0.tar.gz
Algorithm Hash digest
SHA256 1f73860ced8cccce3f85ee6989ca133c2579b67a7453f63dbeb38f39bf123154
MD5 41662443e6f3b355ec066807e3ead850
BLAKE2b-256 b55c496e506ad3313664df24a79f801719cadcd62af5999fcb299c9b08ff0d4b

See more details on using hashes here.

File details

Details for the file adjusttext-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: adjusttext-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for adjusttext-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6febd6484c0d45c39a22f44b2c1f4a8cd01ef58fada565cab4b629c771df79b5
MD5 29c218b3884f64b13c01d24601a3e76c
BLAKE2b-256 b82c897bdd17b05724c894a5b831c6b2e9853adcc2d07a70d6246c0cd5cd3912

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page