Matplotlib Vertical Line featured image

Matplotlib Vertical Line: Add and Plot Vertical Lines in Python


Sometimes you have to divide the chart using vertical lines. It makes you find meaningful information about the chart. In this entire tutorial, you will learn how to implement matplotlib vertical line in python using various methods

Methods to Implement Matplotlib Vertical Line

Before going to the coding demonstration part please note that I am coding in Jupyter Notebook. So it’s better that you should also do it for more understanding. The dataset for plotting the chart or figure is the EURUSD forex pair. You can download it from the below.

EURUSD Dataset

The below are the methods for plotting vertical lines in the chart.

Method 1: Using the vlines() function

The Matplotlib python module provides a method for adding the vertical lines in the figure. The syntax for the vlines() function is below.

vlines(x_coordinate, y_axis_min, y_axis_max, colors)

Here the x_coordinate is the value on the x axis you want to draw a vertical line. The  y_axis_min and  y_axis_max allow you to specify from where you want to draw the vertical lines.

Execute the code below draw the vertical lines.

import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
data = pd.read_csv("EURUSD.csv")
min = data["Close"].values.min()
max = data["Close"].values.max()

Explanation of the code

Here I am first reading the forex pair dataset using the pandas.read_csv() method. After that plotting the line chart on the Closing price of the pair. If you look into the code I have set the y_axis_min as the minimum of all the closing prices. In the same way for y_axis_max I am using the maximum value of the close prices. Lastly, I am adding three vertical lines with different colors. When you execute the above lines of code you will get the following output.


Plotting vertical lines using the vlines() method
Plotting vertical lines using the vlines() method

Method 2: Matplotlib Vertical lines using axvline() function

In the above method, you can see in the output, vertical lines are drawn by specifying the minimum and maximum value of the y coordinate. Suppose you want to draw vertical lines using the axis coordinates only. To do so you have to use axvline() method. Inside the method, you have to just pass the x-axis value and pass the other arguments like color, linstyles e.t.c to draw the vertical lines.

Just execute the below lines of code and see the output.

import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
data = pd.read_csv("EURUSD.csv")

Here in the code, you can see I am passing the x =6,12,15 as the coordinate value to plot the vertical lines on the figure. If you run the code then you will see the output as below.


Plotting vertical lines using the axvline() method
Plotting vertical lines using the axvline() method


These are the methods to plot the vertical lines on any figure using the Matplotlib module. You can choose any method you want but I will prefer the second method as it is simple and just require the axis value(x) to draw the lines. In my example, I have called the method for each line. You can use a loop for plotting all the points available in the list.

Hope this tutorial has clearly your query on how to plot vertical lines in python using Matplotlib. If you want to learn more then please contact us for more information.







Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for signup. A Confirmation Email has been sent to your Email Address.

Something went wrong.

Thank you For sharing.We appreciate your support. Don't Forget to LIKE and FOLLOW our SITE to keep UPDATED with Data Science Learner