Home » How to Draw a Horizontal Line in Matplotlib (With Examples)

How to Draw a Horizontal Line in Matplotlib (With Examples)

by Erma Khan

You can use the following syntax to draw a horizontal line in Matplotlib:

import matplotlib.pyplot as plt

#draw vertical line at y=10
plt.axhline(y=10)

The following examples show how to use this syntax in practice with the following pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7, 8],
                   'y': [5, 7, 8, 15, 26, 39, 45, 40]})

#view DataFrame
df

	x	y
0	1	5
1	2	7
2	3	8
3	4	15
4	5	26
5	6	39
6	7	45
7	8	40

Example 1: Draw One Horizontal Line

The following code shows how to draw one horizontal line on a Matplotlib plot:

import matplotlib.pyplot as plt

#create line plot
plt.plot(df.x, df.y)

#add horizontal line at y=10
plt.axhline(y=10, color='red', linestyle='--')

How to draw a horizontal line in Matplotlib

Example 2: Draw Multiple Horizontal Lines

The following code shows how to draw multiple horizontal lines on a Matplotlib plot:

import matplotlib.pyplot as plt

#create line plot
plt.plot(df.x, df.y)

#add horizontal line at y=10
plt.axhline(y=10, color='red', linestyle='--')

#add horizontal line at y=30
plt.axhline(y=30, color='black', linestyle='-')

Multiple horizontal lines in Matplotlib

Example 3: Draw Multiple Horizontal Lines with Legend

The following code shows how to draw multiple horizontal lines on a Matplotlib plot and add a legend to make the lines easier to interpret:

import matplotlib.pyplot as plt

#create line plot
plt.plot(df.x, df.y)

#add horizontal line at y=10
plt.axhline(y=10, color='red', linestyle='--', label='First Line')

#add horizontal line at y=30
plt.axhline(y=30, color='black', linestyle='-', label='Second Line')

#add legend
plt.legend()

Horizontal lines in matplotlib with legend

Note: Refer to the Matplotlib documentation for a complete list of colors and linestyles you can apply to horizontal lines.

Additional Resources

How to Draw a Vertical Line in Matplotlib
How to Plot Multiple Lines in Matplotlib
How to Plot a Time Series in Matplotlib
How to Draw Rectangles in Matplotlib
How to Draw Arrows in Matplotlib

Related Posts