Contour plots also called level plots are a tool for doing multivariate analysis and visualizing 3-D plots in 2-D space. If we consider X and Y as our variables we want to plot then the response Z will be plotted as slices on the X-Y plane due to which contours are sometimes referred as Z-slices or iso-response.
Contour plots are widely used to visualize density, altitudes or heights of the mountain as well as in the meteorological department. Due to such wide usage matplotlib.pyplot
provides a method contour
to make it easy for us to draw contour plots.
matplotlib.pyplot.contour
The matplotlib.pyplot.contour() are usually useful when Z = f(X, Y) i.e Z changes as a function of input X and Y. A contourf()
is also available which allows us to draw filled contours.
Syntax: matplotlib.pyplot.contour([X, Y, ] Z, [levels], **kwargs)
Parameters:
X, Y: 2-D numpy arrays with same shape as Z or 1-D arrays such that len(X)==M and len(Y)==N (where M and N are rows and columns of Z)
Z: The height values over which the contour is drawn. Shape is (M, N)
levels: Determines the number and positions of the contour lines / regions.Returns: QuadContourSet
Below examples illustrate the matplotlib.pyplot.contour()
function in matplotlib.pyplot:
Example #1: Plotting of Contour using contour()
which only plots contour lines.
# Implementation of matplotlib function import matplotlib.pyplot as plt import numpy as np feature_x = np.arange( 0 , 50 , 2 ) feature_y = np.arange( 0 , 50 , 3 ) # Creating 2-D grid of features [X, Y] = np.meshgrid(feature_x, feature_y) fig, ax = plt.subplots( 1 , 1 ) Z = np.cos(X / 2 ) + np.sin(Y / 4 ) # plots contour lines ax.contour(X, Y, Z) ax.set_title( 'Contour Plot' ) ax.set_xlabel( 'feature_x' ) ax.set_ylabel( 'feature_y' ) plt.show() |
Output:
Example #2: Plotting of contour using contourf()
which plots filled contours.
# Implementation of matplotlib function import matplotlib.pyplot as plt import numpy as np feature_x = np.linspace( - 5.0 , 3.0 , 70 ) feature_y = np.linspace( - 5.0 , 3.0 , 70 ) # Creating 2-D grid of features [X, Y] = np.meshgrid(feature_x, feature_y) fig, ax = plt.subplots( 1 , 1 ) Z = X * * 2 + Y * * 2 # plots filled contour plot ax.contourf(X, Y, Z) ax.set_title( 'Filled Contour Plot' ) ax.set_xlabel( 'feature_x' ) ax.set_ylabel( 'feature_y' ) plt.show() |
Output:
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.