Matplotlib 2.0 in Cygwin 64-bit on Windows for Python 3 and Python 2.7

Related: install Matplotlib without compiling via pip


Matplotlib Cygwin pip install

  1. Command Prompt:

     setup-x86_64 -P pkg-config ghostscript libfreetype-devel libpng-devel libgtk2.0-devel gcc-g++ git openbox python3-numpy python3-pyqt5 python3-devel
    
  2. Cygwin Terminal:

     easy_install-3.6 pip
    
     pip install --upgrade six
    
     pip install matplotlib
    

Alternative: Matplotlib compile

You can just use the process above, unless you want to compile Matplotlib on Cygwin from source code for the latest Matplotlib beta.

cd /tmp

git clone git://github.com/matplotlib/matplotlib.git

cd matplotlib

python setup.py --quiet install

Test result

python 

Python 3.6.1

import matplotlib
matplotlib.__version__

‘2.0.0’

Matplotlib Cygwin plotting with visible figures

To create a visible Matplotlib figure in Cygwin, you need a basic X11 system running by:

  1. Windows Start button, All App, Cygwin-X, Openbox.
  2. Right click and select Terminals, Xterm from the blank Openbox desktop.

To test your entire Matplotlib / Cygwin-X / Openbox configuration, try this script from the Cygwin X11 Openbox Xterm terminal:

#!/usr/bin/env python

from numpy.random import rand
import matplotlib

matplotlib.use('qt5agg') #must be before other matplotlib commands

from matplotlib.pyplot import figure,show

figure().gca().imshow(rand(100,100))
show()

If that works, you can permanently set your default Cygwin Matplotlib backend to qt5agg.

Saving invisible Matplotlib figures

If you still have problems creating Matplotlib plots from Cygwin with the graphical desktop, you can create and save invisible figures to .eps or .png etc. without starting X11 by using savefig().

#!/usr/bin/env python

from matplotlib.pyplot import figure,show

fg=figure()
ax=fg.gca()
fg.savefig('test.png')

Leave a Comment