Need help with matplotlib-label-lines?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

cphyc
146 Stars 16 Forks MIT License 132 Commits 3 Opened issues

Description

Label line using matplotlib.

Services available

!
?

Need anything else?

Contributors list

# 239,369
webrtc
Shell
C
C++
84 commits
# 135,298
q
Markdow...
jupyter
Jekyll
3 commits
# 314,601
JavaScr...
Python
pandas
exchang...
3 commits
# 279,385
C
Shell
rocm
C++
3 commits
# 135,806
Perl
textedi...
notepad
Symfony
1 commit
# 243,918
Jupyter...
pelican
Shell
Scala
1 commit
# 517,741
JavaScr...
Jupyter...
Python
1 commit

matplotlib-label-lines

Build Status codecov

Easily label line(s) using matplotlib.

The code is heavily based on http://stackoverflow.com/questions/16992038/inline-labels-in-matplotlib (original code from NauticalMile).

Install

Just do:

bash
pip install matplotlib-label-lines
You can try it online on binder Binder, get some inspiration from the example or from the following script: ```python import numpy as np from matplotlib import pyplot as plt from scipy.stats import chi2, loglaplace

from labellines import labelLine, labelLines

X = np.linspace(0, 1, 500) A = [1, 2, 5, 10, 20] funcs = [np.arctan, np.sin, loglaplace(4).pdf, chi2(5).pdf]

plt.subplot(321) for a in A: plt.plot(X, np.arctan(a * X), label=str(a))

labelLines(plt.gca().get_lines(), zorder=2.5)

plt.subplot(322) for a in A: plt.plot(X, np.sin(a * X), label=str(a))

labelLines(plt.gca().get_lines(), align=False, fontsize=14)

plt.subplot(323) for a in A: plt.plot(X, loglaplace(4).pdf(a * X), label=str(a))

xvals = [0.8, 0.55, 0.22, 0.104, 0.045] labelLines(plt.gca().get_lines(), align=False, xvals=xvals, color="k")

plt.subplot(324) for a in A: plt.plot(X, chi2(5).pdf(a * X), label=str(a))

lines = plt.gca().getlines() l1 = lines[-1] labelLine( l1, 0.6, label=r"$Re=${}".format(l1.getlabel()), ha="left", va="bottom", align=False, backgroundcolor='none' ) labelLines(lines[:-1], yoffsets=0.01, align=False, backgroundcolor='none')

labelLines also supports log-scaled x-axes

plt.subplot(325) for a in A: plt.semilogx(X, np.arctan(5 * a * X), label=str(a))

labelLines(plt.gca().get_lines(), zorder=2.5)

plt.subplot(326) for a in A: plt.semilogx(X, chi2(5).pdf(a * X), label=str(a))

labelLines(plt.gca().get_lines(), xvals=(0.1, 1), zorder=2.5)

plt.show()

![Example](https://raw.githubusercontent.com/cphyc/matplotlib-label-lines/master/example.png)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.