Understanding Matplotlib Grid Lines

Matplotlib grid is a pattern of lines that overlay the plot area and helps to visually organize the data.

In this article, we’ll explore the Matplotlib grid and learn how to use it effectively in our data visualization projects.



What is the Matplotlib Grid?

The Matplotlib grid is a set of horizontal and vertical lines that create a background pattern on a chart or graph. It helps to align and organize the data, making it easier to read and understand.

The grid lines extend across the entire plot area, and they are evenly spaced, making it easy to compare values across the chart.

Note: By default, the grid lines are not displayed on a Matplotlib chart, but they can be added using the grid() function.

The grid() function takes two optional parameters, b and which, which specify whether to show the grid and which grid lines to display, respectively.

You can choose which types of grid lines to display on your chart.

There are three options:

Major Grid Lines

Major grid lines are primary grid lines that represent the major intervals of the axis.

They are usually thicker and more prominent than minor grid lines. To display major grid lines, use the grid() function with the which parameter set to ‘major’.

Example: 

import matplotlib.pyplot as plt import numpy as npx = np.linspace(0, 10, 100) y = np.sin(x)plt.plot(x, y) plt.grid(which='major') plt.show()

Minor Grid Lines

Minor grid lines are secondary grid lines that represent the minor intervals of the axis.

They are usually thinner and less prominent than major grid lines. To display minor grid lines, use the grid() function with the which parameter set to ‘minor’.

Example: 

import matplotlib.pyplot as plt import numpy as npx = np.linspace(0, 10, 100) y = np.sin(x)plt.plot(x, y) plt.grid(which='minor') plt.show()

Custom Grid Lines

Custom grid lines are manually specified grid lines that can be used to highlight specific data points or to create custom grid patterns.

To add custom grid lines to a Matplotlib chart, use the axhline() function for horizontal lines and axvline() function for vertical lines.

Example: 

import matplotlib.pyplot as plt import numpy as npx = np.linspace(0, 10, 100) y = np.sin(x)plt.plot(x, y)# Add custom grid lines plt.axhline(y=0.5, color='gray', linestyle='–') plt.axvline(x=5, color='gray', linestyle='–')plt.show()

Adding Grid Lines

According to Matplotlib grids, if you are implementing Pyplot, you can utilize the grid() function to insert grid lines into the plot.

In the following graph insert the grid lines:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'m', 'size':15.5} font_style2 = {'family':'fantasy','weight':'heavy','color':'Maroon', 'size':10.5} pt.title("MRX MEDICARE", fontdict = font_style1, loc = 'center') pt.xlabel("Pulse Rate", fontdict = font_style2) pt.ylabel("Heart Rate", fontdict = font_style2) pt.plot(pulse_rate, heart_rate) pt.grid() pt.show()

Apply different font styles and also implement the grid() function:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'#ff531a', 'size':15.5} font_style2 = {'family':'serif','weight':'heavy','color':'#666699′, 'size':10.5} font_style3 = {'family':'san_serif','weight':'normal','color':'#006080′, 'size':10.5} pt.title("HEART PULSE RATE", fontdict = font_style1, loc = 'center', backgroundcolor = 'k') pt.xlabel("Heart Rate", fontdict = font_style2) pt.ylabel("Pulse Rate", fontdict = font_style3) pt.plot(heart_rate, pulse_rate, marker = 'X', c = 'Black', ms = 20) pt.grid() pt.show()

Specify Which Grid Lines to Display

Matplotlib’s grid() function enables you to indicate which grid lines you want to visualize when you pass the axis parameter to the grid() function.

There are three valid values: ‘x‘, ‘y‘, and ‘both‘. It is configured to ‘both’ by default.

Utilizing the grid() function to show the grid lines on the x axis:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'m', 'size':15.5} font_style2 = {'family':'fantasy','weight':'heavy','color':'Maroon', 'size':10.5} pt.title("MRX MEDICARE", fontdict = font_style1, loc = 'center') pt.xlabel("Pulse Rate", fontdict = font_style2) pt.ylabel("Heart Rate", fontdict = font_style2) pt.plot(pulse_rate, heart_rate) pt.grid(axis = 'x') pt.show()

Modify the style of the graph then implement the grid() function:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'m', 'size':15.5} font_style2 = {'family':'fantasy','weight':'heavy','color':'Maroon', 'size':10.5} pt.title("MRX MEDICARE", fontdict = font_style1, loc = 'center') pt.xlabel("Pulse Rate", fontdict = font_style2) pt.ylabel("Heart Rate", fontdict = font_style2) pt.plot(pulse_rate, heart_rate, marker = 'o', ls = '-.', mfc = 'k', mec = 'k', ms = 20, c = 'm', lw = '5.5', mew = 6) pt.grid(axis = 'x') pt.show()

To show the grid lines on the y axis, invoke the grid() function:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'#ff531a', 'size':15.5} font_style2 = {'family':'serif','weight':'heavy','color':'#666699′, 'size':10.5} font_style3 = {'family':'san_serif','weight':'normal','color':'#006080′, 'size':10.5} pt.title("HEART PULSE RATE", fontdict = font_style1, loc = 'center', backgroundcolor = 'k') pt.xlabel("Heart Rate", fontdict = font_style2) pt.ylabel("Pulse Rate", fontdict = font_style3) pt.plot(heart_rate, pulse_rate, marker = 'X', c = 'Black', ms = 20) pt.grid(axis = 'y') pt.show()

Apply the grid() function to y axis after changing the graph’s style:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'#ff531a', 'size':15.5} font_style2 = {'family':'serif','weight':'heavy','color':'#666699′, 'size':10.5} font_style3 = {'family':'san_serif','weight':'normal','color':'#006080′, 'size':10.5} pt.title("HEART PULSE RATE", fontdict = font_style1, loc = 'center', backgroundcolor = 'k') pt.xlabel("Heart Rate", fontdict = font_style2) pt.ylabel("Pulse Rate", fontdict = font_style3) pt.plot(heart_rate, pulse_rate, marker = 'v', ls = ':', mfc = '#3d3d5c', mec = '#9494b8', ms = 20, c = '#14141f', lw = '5.5', mew = 4) pt.grid(axis = 'y') pt.show()

Set Line Properties for the Grid

According to Matplotlib grids, you can also customize the line attributes, utilizing the following syntax:

grid(color = 'color', linestyle = 'linestyle', linewidth = number).

Insert the grid’s line attributes are as follows:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) font_style1 = {'family':'monospace','weight':'bold','color':'m', 'size':15.5} font_style2 = {'family':'fantasy','weight':'heavy','color':'Maroon', 'size':10.5} pt.title("MRX MEDICARE", fontdict = font_style1, loc = 'center') pt.xlabel("Pulse Rate", fontdict = font_style2) pt.ylabel("Heart Rate", fontdict = font_style2) pt.plot(pulse_rate, heart_rate, marker = 'o', ls = '-.', mfc = 'k', mec = 'k', ms = 20, c = 'm', lw = '5.5', mew = 6) pt.grid(c = 'Gray', ls = ':', lw = '3.5') pt.show()

Configure the plot() and grid() functions with different attributes:

Example: 

import numpy as npy import matplotlib.pyplot as pt pulse_rate = npy.array([61, 68, 73, 77, 82]) heart_rate = npy.array([80, 75, 88, 69, 91]) bg = pt.axes() font_style1 = {'family':'monospace','weight':'bold','color':'#ff531a', 'size':15.5} font_style2 = {'family':'serif','weight':'heavy','color':'#666699′, 'size':10.5} font_style3 = {'family':'san_serif','weight':'normal','color':'#006080′, 'size':10.5} pt.title("HEART PULSE RATE", fontdict = font_style1, loc = 'center', backgroundcolor = 'k') pt.xlabel("Heart Rate", fontdict = font_style2) pt.ylabel("Pulse Rate", fontdict = font_style3) bg.set_facecolor('#e0e0eb') pt.plot(heart_rate, pulse_rate, marker = 'v', ls = ':', mfc = '#3d3d5c', mec = '#9494b8', ms = 20, c = '#14141f', lw = '5.5', mew = 4) pt.grid(c = 'k', ls = '-', lw = '2.5') pt.show()

Example Explanation

The above example shows how to create a scatter plot using NumPy and Matplotlib libraries in Python. The plot represents the relationship between pulse rate and heart rate for a set of individuals.

The pulse rate values and heart rate values are stored in NumPy arrays called “pulse_rate” and “heart_rate”, respectively. The plot is created using the “plot” function from the Matplotlib library.

The plot includes various formatting options such as marker type, line style, line width, color, and font style. The font styles for the title, xlabel, and ylabel are defined using dictionaries.

The background color of the plot is set to a light shade of gray using the “set_facecolor” method. The “grid” method is used to add grid lines to the plot.


Matplotlib Grid Benefits

  • Matplotlib Grid lines can improve the clarity of a plot, making it easier to visually align data points and assess the scale of the plot.
  • They can help with the accurate interpretation of data by providing a reference for where data points fall on the plot, even if they are not directly labeled.
  • Grid lines can make it easier to compare the values of different data points on a plot, highlighting differences or similarities between data points.
  • Adding grid lines to a plot can enhance its aesthetics, providing structure and balance to the layout and making it more visually appealing and professional-looking.

Conclusion

In summary, adding grid lines to a Matplotlib plot can make it easier to read, more accurate, and better-looking. Grid lines help to line up data points, show the scale of the plot, and compare different data points. They also make the plot look nicer and more professional. Overall, adding grid lines to a plot in Matplotlib can make it easier to understand the data, which is important in many fields that use graphs and charts to show information.

We value your feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Subscribe To Our Newsletter
Enter your email to receive a weekly round-up of our best posts. Learn more!
icon

Leave a Reply

Your email address will not be published. Required fields are marked *