This package creates clean and beautiful plots that work on light and dark backgrounds. Inspired by the work of Edward Tufte.
To use, simply select the dufte
style:
import dufte
import matplotlib.pyplot as plt
# global setting:
plt.style.use(dufte.style)
# with a context manager:
with plt.style.context(dufte.style_bar):
# ...
pass
Check out dufte.legend()
, dufte.ylabel()
, and dufte.show_bar_values()
for more duftiness.
Comparison with default Matplotlib
See here for how to create the below plots.
matplotlib | dufte with dufte.legend() |
matplotlib | dufte | dufte with dufte.show_bar_values() |
Further reading:
Projects using dufte:
Background
The position $x_i
$ of the line annotations is computed as the solution of a non-negative least-squares problem
\begin{align}
\frac{1}{2}\sum_i (x_i - t_i)^2 \to \min_x,\\
(x_i - x_j)^2 \ge a^2 \quad \forall i,j.
\end{align}
where $a
$ is the minimum distance between two entries and $t_i
$ is the target position.
Testing
To run the dufte unit tests, check out this repository and type
pytest
License
This software is published under the GPLv3 license.