This python module allows you to use your kitty terminal to show the plots generated by python's Matplotlib.
To use it, add the module to your $PYTHONPATH
and
initialize matplotlib like this:
import matplotlib
matplotlib.use('module://matplotlib-backend-kitty')
import matplotlib.pyplot as plt
$ python -i
>>> n = 10000
>>> df = pd.DataFrame({'x': np.random.randn(n),
'y': np.random.randn(n)})
>>> df.plot.hexbin(x='x', y='y', gridsize=20)
<plot is shown>
If you set your matplotlib to interactive mode via
matplotlib.pyplot.ion()
or by running python as
python -i
, non-empty figures are drawn on construction
where possible. This allows you to use pandas' plot()
calls directly, without calling plt.show()
, and still
enables you to manually construct and plt.show()
.
If your matplotlib is in non-interactive mode,
you can construct your figures as usual, and then call
plt.show()
to render them to your terminal. This
works from both a repl and when running scripts.
Internally, this backend is somewhat based on matplotlib's
IPython support: it's a hybrid of image and GUI backend types.
It works by using matplotlib's Agg
backend to render the
plot, and then calls kitty's icat
to place the rendered
image on your terminal. This means that plotting works as
expected, but the image drawn to your terminal isn't
interactive and animations aren't supported.