0
0
Matplotlibdata~5 mins

Date locators for tick spacing in Matplotlib

Choose your learning style9 modes available
Introduction

Date locators help place date ticks nicely on a plot's axis. They make date labels easy to read and understand.

When plotting time series data and you want clear date labels on the x-axis.
When you want to control how often dates appear on your plot, like every day, month, or year.
When your data covers a long time and you want to avoid cluttered date labels.
When you want to customize the look of date ticks for reports or presentations.
Syntax
Matplotlib
import matplotlib.dates as mdates

locator = mdates.DayLocator(interval=1)  # for daily ticks
locator = mdates.MonthLocator(interval=1)  # for monthly ticks
locator = mdates.YearLocator()  # for yearly ticks

ax.xaxis.set_major_locator(locator)

Use DayLocator, MonthLocator, or YearLocator to set tick spacing.

The interval parameter controls how many units between ticks (e.g., every 2 days).

Examples
Places a tick every day on the x-axis.
Matplotlib
import matplotlib.dates as mdates
locator = mdates.DayLocator(interval=1)
Places a tick every 3 months.
Matplotlib
locator = mdates.MonthLocator(interval=3)
Places a tick every 5 years.
Matplotlib
locator = mdates.YearLocator(5)
Sample Program

This code plots values over 10 days. It sets ticks every 2 days on the x-axis with readable date labels.

Matplotlib
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime, timedelta

# Create dates for 10 days
dates = [datetime(2024, 1, 1) + timedelta(days=i) for i in range(10)]
values = range(10)

fig, ax = plt.subplots()
ax.plot(dates, values)

# Set major ticks every 2 days
locator = mdates.DayLocator(interval=2)
ax.xaxis.set_major_locator(locator)

# Format date labels nicely
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))

plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
OutputSuccess
Important Notes

Always rotate date labels if they overlap to keep them readable.

Use DateFormatter to control how dates appear on ticks.

Try different locators to find the best spacing for your data.

Summary

Date locators control where date ticks appear on a plot.

Use DayLocator, MonthLocator, or YearLocator with intervals to set spacing.

Combine locators with formatters for clear, readable date labels.