Skip to main content

itermplot

An awesome iTerm2 <https://www.iterm2.com/>__ backend for Matplotlib, so you can plot directly in your terminal.

The above is achieved with zero modifications to your Python script. For example, the above plots are generated with the following code:

.. code:: {python}

import numpy as np import matplotlib.pyplot as plt import networkx as nx

plt.rcParams["font.size"] = 10

plt.figure(figsize=(8,3))

ax = plt.subplot(121) x = np.arange(0,10,0.001) ax.plot(x, np.sin(np.sinc(x)), 'r', lw=2) ax.set_title('Nice wiggle')

ax = plt.subplot(122) plt.tick_params(axis='both', left='off', top='off', right='off', bottom='off', labelleft='off', labeltop='off', labelright='off', labelbottom='off') G = nx.random_geometric_graph(200, 0.125) pos=nx.spring_layout(G) nx.draw_networkx_edges(G, pos, alpha=0.2) nx.draw_networkx_nodes(G, pos, node_color='r', node_size=12) ax.set_title('Random graph')

plt.show()

Note: you need to run plt.show() to display the figure.

Reverse video


If you use a dark background in your terminal, you can enable “reverse
video” mode by adding this to your ``.profile``:

::

   export ITERMPLOT=rv

TMUX support
~~~~~~~~~~~~

itermplot tries to auto-detect TMUX and behave in a sane way. Vertical
split panes do not work well due to a limitation with iTerm2. Luckily,
horizontals do though.

Animation support

itermplot supports animation created by matplotlib animation module.

You’ll need to install ImageMagick and have it on the path to use the animation support. The simplest way to see if ImageMagick is installed and valid is to run:

.. code:: {sh}

$ convert -version Version: ImageMagick 7.0.4-4 Q16 x86_64 2017-01-14 http://www.imagemagick.org Copyright: © 1999-2017 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DPC HDRI Modules Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

To enable animation support, you need to specifying the desired number of frames in the output animation. For example, specify it before your script with:

::

$ ITERMPLOT_FRAMES=30 python script.py

You can also save the resulting gif file by using ITERMPLOT_OUTFILE environment variable:

::

$ ITERMPLOT_FRAMES=30 ITERMPLOT_OUTFILE=out.gif python script.py

Currently animation does not support reverse video with ITERMPLOT=rv.

Configure lines


You can configure the number of lines used with the ``ITERMPLOT_LINES``
environment variable. For example:

.. code:: {sh}

   ITERMPLOT_LINES=5 python3 simple.py

Python 2 and Python 3 support

Now supports Python 2, even if this makes me want to cry 😭

Installation

Using pip


Install using ``pip`` using the command:

.. code:: {sh}

   pip3 install itermplot

itermplot is enabled by setting ``MPLBACKEND`` in your environment. If
you use ``bash``, then this can be accomplished using the command:

.. code:: {sh}

   export MPLBACKEND="module://itermplot"

Note: you can add the ``export`` line above to your ``.profile`` file so
that itermplot is always enabled in your terminal.

Testing
~~~~~~~

To test your installation you can do the following in your iTerm2
console:

::

   $ echo $MPLBACKEND
   module://itermplot
   $ python3
   Python 3.5.2 (default, Oct 24 2016, 09:14:06)
   [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import matplotlib.pyplot as plt
   >>> plt.plot([1,2,3])
   [<matplotlib.lines.Line2D object at 0x1041f2e48>]
   >>> plt.show()

You should see a plot!

Uninstall
---------

You can disable this backend by unsetting the ``MPLBACKEND`` environment
variable.

::

   $ unset MPLBACKEND
   $ echo $MPLBACKEND

   $ python3
   Python 3.5.2 (default, Oct 24 2016, 09:14:06)
   [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import matplotlib.pyplot as plt
   >>> plt.plot([1,2,3])
   [<matplotlib.lines.Line2D object at 0x1106bdcc0>]
   >>> plt.show()

To remove the package completely, run:

::

   pip3 uninstall itermplot

Bugs
----

This backend is very alpha, so if you have a problem please raise an
Issue on GitHub and I will try to fix it.

I also accept (and appreciate!) good patches / pull request. Thanks to
`garrywu <https://github.com/garywu>`__,
`brenshanny <https://github.com/brenshanny>`__,
`hbredin <https://github.com/hbredin>`__,
`zevlg <https://github.com/zevlg>`__ for their patches so far.

Other cool things
-----------------

I encourage you to check-out some of my `other little
projects <https://github.com/daleroberts>`__. Lots more coming as I
slowly release them…


Metadata

Release files for itermplot 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for itermplot 0.4
File Size Uploaded
itermplot-0.4.tar.gz 6.8 kB Details

Release files / itermplot-0.4.tar.gz

Download URL itermplot-0.4.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ad7a6332222053a4c0dabebb611c467b7fbcb96bd942d430c44e80ef67c909a1
BLAKE2b-256 checksum
How to use checksums
2be958590e6848d0ca15102b36059afeb77d189401ea531f2f12c3ac671b06ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.6

Release history Release notifications | RSS feed

0.331

1 release file

0.322

1 release file

0.321

1 release file

0.34

1 release file

0.33

1 release file

0.32

1 release file

0.31

1 release file

0.30

1 release file

0.20

1 release file

0.19

1 release file

0.18

1 release file

0.17

1 release file

0.16

1 release file

0.14

1 release file

0.13

1 release file

0.12

1 release file

0.11

1 release file

0.5

1 release file

This release

0.4 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page