Skip to content

Repository files navigation

termplotlib

PyPi VersionPyPI pyversionsGitHub starsPyPi downloads

gh-actionscodecovLGTMCode style: black

termplotlib is a Python library for all your terminal plotting needs. It aims to work like matplotlib.

Line plots

For line plots, termplotlib relies on gnuplot. With that installed, the code

importtermplotlibastplimportnumpyasnpx=np.linspace(0, 2*np.pi, 10)
y=np.sin(x)
fig=tpl.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

Horizontal histograms

importtermplotlibastplimportnumpyasnprng=np.random.default_rng(123)
sample=rng.standard_normal(size=1000)
counts, bin_edges=np.histogram(sample)
fig=tpl.figure()
fig.hist(counts, bin_edges, orientation="horizontal", force_ascii=False)
fig.show()

produces

hist1

Horizontal bar charts are covered as well. This

importtermplotlibastplfig=tpl.figure()
fig.barh([3, 10, 5, 2], ["Cats", "Dogs", "Cows", "Geese"], force_ascii=True)
fig.show()

produces

Cats [ 3] ************
Dogs [10] ****************************************
Cows [ 5] ********************
Geese [ 2] ********

Vertical histograms

importtermplotlibastplimportnumpyasnprng=np.random.default_rng(123)
sample=rng.standard_normal(size=1000)
counts, bin_edges=np.histogram(sample, bins=40)
fig=tpl.figure()
fig.hist(counts, bin_edges, grid=[15, 25], force_ascii=False)
fig.show()

produces

hist2

Tables

Support for tables has moved over to termtables.

Installation

termplotlib is available from the Python Package Index, so simply do

pip install termplotlib

to install.

Testing

To run the termplotlib unit tests, check out this repository and type

pytest

Similar projects

About

📈 Plotting on the command line

Topics

Resources

Stars

722 stars

Watchers

9 watching

Forks

Used by

Contributors

Languages