Matplotlib.pyplot.plot_date() function in Python (original) (raw)

Last Updated : 09 Jan, 2024

Matplotlib is a module package or library in Python which is used for data visualization. Pyplot is an interface to a Matplotlib module that provides a MATLAB-like interface. The matplotlib.pyplot.plot_date() function is like the regular plot() function, but it's tailored for showing data over dates. Think of it as a handy tool for visualizing events or values that happen over time, making your time-related charts look sharp and clear.

Matplotlib.pyplot.plot_date() function Syntax

This function is used to add dates to the plot. Below is the syntax by which we can plot datetime on the x-axis Matplotlib.

**Syntax : matplotlib.pyplot.plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, data=None, **kwargs)

**Parameters :

The last parameter **kwargs is the Keyword arguments control the Line2D properties like animation, dash_ joint-style, colors, linewidth, linestyle, marker, etc.

Matplotlib.pyplot.plot_date() function Examples

Below are the examples by which we can see how to plot datetime on x axis matplotlib in Python:

Plotting a Date Series Using Matplotlib

In this example, dates are plotted against a numeric sequence using the matplotlib.pyplot.plot_date() function, with green markers, and the x-axis date labels are rotated for better visibility.

Python3 `

importing libraries

import matplotlib.pyplot as plt from datetime import datetime

creating array of dates for x axis

dates = [ datetime(2020, 6, 30), datetime(2020, 7, 22), datetime(2020, 8, 3), datetime(2020, 9, 14) ]

for y axis

x = [0, 1, 2, 3]

plt.plot_date(dates, x, 'g') plt.xticks(rotation=70) plt.show()

`

**Output:

Creating a Plot Using Dataset

In this example, a Pandas DataFrame is used to store and plot market closing prices against dates. The plotted graph showcases closing amounts with red dashed lines.

Python3 `

importing libraries

import pandas as pd import matplotlib.pyplot as plt from datetime import datetime

creating a dataframe

data = pd.DataFrame({'Date': [datetime(2020, 6, 30), datetime(2020, 7, 22), datetime(2020, 8, 3), datetime(2020, 9, 14)],

                 'Close': [8800, 2600, 8500, 7400]})

x-axis

price_date = data['Date']

y-axis

price_close = data['Close']

plt.plot_date(price_date, price_close, linestyle='--', color='r') plt.title('Market', fontweight="bold") plt.xlabel('Date of Closing') plt.ylabel('Closing Amount')

plt.show()

`

**Output:

Customizing Date Formatting in a Market Closing Price Plot

In this example, after plotting market closing prices against dates, the date format is customized using the dateformatter class to display dates in the format 'DD-MM-YYYY'.

Python3 `

importing libraries

import pandas as pd import matplotlib.pyplot as plt from datetime import datetime

creating a dataframe

data = pd.DataFrame({'Date': [datetime(2020, 6, 30), datetime(2020, 7, 22), datetime(2020, 8, 3), datetime(2020, 9, 14)],

                 'Close': [8800, 2600, 8500, 7400]})

x-axis

price_date = data['Date']

y-axis

price_close = data['Close']

plt.plot_date(price_date, price_close, linestyle='--', color='r') plt.title('Market', fontweight="bold") plt.xlabel('Date of Closing') plt.ylabel('Closing Amount')

Changing the format of the date using

dateformatter class

format_date = mpl_dates.DateFormatter('%d-%m-%Y')

getting the accurate current axes using gca()

plt.gca().xaxis.set_major_formatter(format_date)

plt.show()

`

**Output:

The format of the date changed to dd-mm-yyyy. To know more about dataformatter and gca() click here.