Label lines in matplotlib.
Project description
matplotlib-label-lines
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:
pip install matplotlib-label-lines
You can try it online on binder , get some inspiration from the example or from the following script:
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]
fig, axes = plt.subplots(ncols=2, nrows=3, constrained_layout=True, figsize=(8, 8))
axes = axes.flatten()
ax = axes[0]
for a in A:
ax.plot(X, np.arctan(a * X), label=str(a))
labelLines(ax.get_lines(), zorder=2.5)
ax = axes[1]
for a in A:
ax.plot(X, np.sin(a * X), label=str(a))
labelLines(ax.get_lines(), align=False, fontsize=14)
ax = axes[2]
for a in A:
ax.plot(X, loglaplace(4).pdf(a * X), label=str(a))
xvals = [0.8, 0.55, 0.22, 0.104, 0.045]
labelLines(ax.get_lines(), align=False, xvals=xvals, color="k")
ax = axes[3]
for a in A:
ax.plot(X, chi2(5).pdf(a * X), label=str(a))
lines = ax.get_lines()
l1 = lines[-1]
labelLine(
l1,
0.6,
label=r"$Re=${}".format(l1.get_label()),
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
ax = axes[4]
for a in A:
ax.semilogx(X, np.arctan(5 * a * X), label=str(a))
labelLines(ax.get_lines(), zorder=2.5)
ax = axes[5]
for a in A:
ax.semilogx(X, chi2(5).pdf(a * X), label=str(a))
labelLines(ax.get_lines(), xvals=(0.1, 1), zorder=2.5)
fig.show()
Citing
If you're using this package for research purposes, consider citing the Zenodo entry (https://zenodo.org/record/7428071).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file matplotlib_label_lines-0.7.0.tar.gz
.
File metadata
- Download URL: matplotlib_label_lines-0.7.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db2ba7afe34a733f7c02d29b16217069cf412c12ce6a452991adb71b9c4fd16f |
|
MD5 | bc37a945b3b32c2ebe0df992a65c91db |
|
BLAKE2b-256 | f1d0e6f49a6ef20f98aaa613df30f335ea7b4e2933f6d1f459b97e6cf364b85c |
File details
Details for the file matplotlib_label_lines-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: matplotlib_label_lines-0.7.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f9ea9de749152d5ef2a1b5e400cba965ec4574bb8a32c30361dd32dd2bfd95 |
|
MD5 | 1caac12c9ffd11b57faeecffd650c0ff |
|
BLAKE2b-256 | 3c6baa49d85637f6c13c48756d8e75ae00a2e355b6f5a55f0964fa996a7c49d0 |