asciiplotlib is a Python 3 library for all your terminal plotting needs. It aims to work like matplotlib.
For line plots, asciiplotlib relies on gnuplot. With that installed, the code
import asciiplotlib as apl
import numpy
x = numpy.linspace(0, 2 * numpy.pi, 10)
y = numpy.sin(x)
fig = apl.figure()
fig.plot(x, y, label="data", width=50, height=15)
fig.show()
produces
1 +---------------------------------------+
0.8 | ** ** |
0.6 | * ** data ******* |
0.4 | ** |
0.2 |* ** |
0 | ** |
| * |
-0.2 | ** ** |
-0.4 | ** * |
-0.6 | ** |
-0.8 | **** ** |
-1 +---------------------------------------+
0 1 2 3 4 5 6 7
import asciiplotlib as apl
import numpy
numpy.random.seed(123)
sample = numpy.random.normal(size=1000)
counts, bin_edges = numpy.histogram(sample)
fig = apl.figure()
fig.hist(counts, bin_edges, orientation="horizontal", force_ascii=False)
fig.show()
produces
import asciiplotlib as apl
import numpy
numpy.random.seed(123)
sample = numpy.random.normal(size=1000)
counts, bin_edges = numpy.histogram(sample, bins=40)
fig = apl.figure()
fig.hist(counts, bin_edges, grid=[15, 25], force_ascii=False)
fig.show()
produces
Support for tables has moved over to termtables.
asciiplotlib is available from the Python Package Index, so simply do
pip3 install -U asciiplotlib
to install or upgrade. Use sudo -H
to install as root or the --user
option
of pip3
to install in $HOME
.
To run the asciiplotlib unit tests, check out this repository and type
pytest
asciiplotlib is published under the MIT license.