Graphics with NumPy

In this tutorial you find NumPy exercises that create images.

title image

It is meant as a gentle introduction to NumPy. It assumes that you have made your first steps with Python already. To get the best out of it, put it into practice immediately:

paint things – create art – have fun!


If you are using the Anaconda distribution, you should have all necessary libraries already.

Otherwise, download or clone the git repository and install the libraries using pip:

pip install -r requirements.txt

Next, try the examples and challenges.

First Steps

Example Topic
Grayscale Create a grayscale image
Color Create a RGB image
Random Blur Create random pixels
Flags Slicing
Repeat Repeating tiles

Elementary Geometry

Example Topic
Stars Indexing
Lines Arithmetics
Gradient Linear space
Triangles Matrix operations
Circles Euclidean Distances
Mask Indexing

Machine Learning

Example Topic
K-Means Clustering
Decision Tree Color prediction
Convolution CNN kernel
Monte Carlo Sampling


Example Topic
Rotation Rotation figure
Shadow shadow using a mask
Warhol Color channels
Puzzle vstack and hstack
Contour Lines Gaussian Mixture
Edge Detection Sobel Operator
Mandelbrot Recursive graphics
Hexpanda Hexbin plot
Vortex Animation

More Generative Artists


(c) 2019 Dr. Kristian Rother (

Distributed under the conditions of the MIT License. See LICENSE for details.


The Brandenburg Gate image is by Thomas Wolf, / Wikimedia Commons / CC BY-SA 3.0

Dr. Kristian Rother

I am a professional Python trainer, developer and author based in Berlin. I believe everybody can learn programming.

Contact me via:
+49 176 3052 4691


Thanks to Kristians tips for structuring difficult topics I could overcome my writers' block. The training session was a big help! Thanks!

Sarah M, Archaeology dept., FU Berlin

See also