show matplotlib plots directly in your wezterm terminal
Project description
matplotlib-backend-wezterm
This python module allows you to use your wezterm terminal to show the plots generated by python's matplotlib.
For other terminals, the similar notcurses backend may also be of interest.
To install this one, do one of the following
$ pip install --user matplotlib-backend-wezterm
- clone this repo into your python's
site-packages
directory - clone this repo and add the parent directory to
sys.path
or$PYTHONPATH
Then, configure matplotlib to use the module by either setting the
environment variable MPLBACKEND
to module://matplotlib-backend-wezterm
or by initializing matplotlib as follows.
import matplotlib
matplotlib.use('module://matplotlib-backend-wezterm')
import matplotlib.pyplot as plt
If you've installed this module correctly, you can now use the following sample code to draw a plot in your terminal.
$ export MPLBACKEND='module://matplotlib-backend-wezterm'
$ 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.
You can use the environment variable MPLBACKEND_TRANSPARENT=1
to
control the plot's background.
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 wezterm's imgcat
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.
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-backend-wezterm-2.1.2.tar.gz
.
File metadata
- Download URL: matplotlib-backend-wezterm-2.1.2.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b98d9ec9d0f04dd6c5da06cce4a74b9a5836ee42506914e95cbf528d19ac24f6 |
|
MD5 | 9a36924fdc6bc0bc55522b8adf3b34d6 |
|
BLAKE2b-256 | 268f1be8abe1f3db458e4dd91f040a74d5607fc636293e5d7fe0c30d15cc010c |
File details
Details for the file matplotlib_backend_wezterm-2.1.2-py3-none-any.whl
.
File metadata
- Download URL: matplotlib_backend_wezterm-2.1.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d723bdc674aeeccd380c0bf849ae8f77b6a12c68a35dcf66aae3bdeda5acf8e3 |
|
MD5 | 21d676a1da2608102fc58f4c23a29e32 |
|
BLAKE2b-256 | 676e1c7ccac30f74ed9c3bcec6ed8deaab216ec6291c65fc38f3097b3be591ed |