Matplotlib is a 2D plotting library in python which produces publication-quality figures in a wide variety of formats and environments. Matplotlib tries to make easy things easy and hard things possible with just a few lines of code. In the Matplotlib tutorial, we will demonstrate how to produce quality images for basic plots, scatter plots, vector plots, histograms, streamlines, contours, and others. We will also present some extensions such as the basemap toolkit which is a python library for plotting 2D data on maps.