Matplotlib Grids

What are Grids?

In any chart or graphical representation of any set of data, grids are made so that you can better understand the whole graph/chart and relate the points on the plot with the scale values, as there are grid lines in the background. Grid makes the inner part of a graph/chart basically made up of intersecting lines either straight (vertical, horizontal, and angular) or curved lines that are mainly used to represent the data.

  • With the help of grids in matplotlib you can gain a better understanding of graphs.
  • You can easily get a reference for the data points.
  • matplotlib.pyplot.grid() is a function that is used to create grids easily and you can also customize as there are many options available.

Matplotlib grid() Function

This function is basically used to create the grid.

  • In axes object the grid() function is used to set the visibility of the grid inside the figure. It can be either on or off.
  • The linestyle and linewidth properties can be set in the grid() function.
  • You can customize the grid according as per your requirements as there are many available options.

Matplotlib grid() Syntax

Below we have the basic syntax to use the function matplotlib.pyplot.grid() function:

matplotlib.pyplot.grid(b, which, axis, **kwargs)

Let us discuss about the parameters used in this function:

  • bThis parameter indicates a bool value which is used to specify whether to show grid-lines or not. The default value of this parameter is True.
  • whichThis parameter is used to indicate the grid lines on which there is a need to apply the change. There are three for values for this: majorminor, or both.
  • axisThis parameter is used to denote the axis on which there is a need to apply changes. The values for this are xy, or both.
  • **kwargsThis parameter is used to indicate the optional line properties.


Let us take a look at an example where we will create a grid in the graph:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 1.0 + 0.01, 0.01)
s = np.cos(2 * 2*np.pi * t)
t[41:60] = np.nan

plt.subplot(2, 1, 1)
plt.plot(t, s, '-', lw=2)

plt.xlabel('time (s)')
plt.ylabel('voltage (mV)')
plt.title('A sine wave having gap of NaNs between 0.4 and 0.6')

plt.subplot(2, 1, 2)
t[0] = np.nan
t[-1] = np.nan
plt.plot(t, s, '-', lw=2)
plt.title('Graph with NaN in first and last point')

plt.xlabel('time (s)')
plt.ylabel('more nans')


The output for the above code snippet is as follows:
using matplotlib grid function to change grid

In the function above, all we have done is added the plt.grid(True), which shows the grid in the final graph.

Example 2

Now in the example given below, we will show you how to use various options to customize the graph:

import matplotlib.pyplot as plt 
import numpy as np 
x = np.linspace(0, 2 * np.pi, 400) 
y = np.sin(x ** 2) 

plt.plot(x, y, 'orange') 

plt.title("Customized Plots") 

# customize grids
plt.grid(True, color = "black", linewidth = "1.4", linestyle = "-.") 

The output for the above code will be as follows:

custom grid in matplotlib example

In the above figure, you can see the grid lines are made of -. which we have specified using the linestyle parameter, the width of line is specified as 1.4 which controls the width of the line. We have also specified the plot color to be orange, which we can see in the output.

Follow Us On