Matplotlib.pyplot.xticks() in Python (original) (raw)

Last Updated : 01 Apr, 2025

**matplotlib.pyplot.xticks() function is used to get or set the x-axis ticks in a plot. This function allows you to modify the labels and positions of the ticks along the x-axis, providing greater flexibility and control over your plots. Let’s see an example to better understand this.

**Example: Set Custom Tick Positions and Labels

Python `

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11]

plt.plot(x, y)

Set custom ticks and labels

plt.xticks([1, 3, 5], ['One', 'Three', 'Five'])

plt.show()

`

**Output:

xticksExample

Output

**Explanation:

Syntax

matplotlib.pyplot.xticks(ticks=None, labels=None, **kwargs)

**Parameters:

**Return Value:

The function returns the **current x-axis tick positions and **labels.

Examples of Matplotlib.pyplot.xticks()

**1. Customizing X-axis Tick Labels with Rotation and Adjusting Margins

Python `

import numpy as np import matplotlib.pyplot as plt

x = [1, 2, 3, 4] y = [95, 38, 54, 35] labels = ['Geeks1', 'Geeks2', 'Geeks3', 'Geeks4']

plt.plot(x, y)

You can specify a rotation for the tick labels in degrees or with keywords.

plt.xticks(x, labels, rotation ='vertical')

Pad margins so that markers don't get clipped by the axes

plt.margins(0.2)

Tweak spacing to prevent clipping of tick-labels

plt.subplots_adjust(bottom = 0.15) plt.show()

`

**Output:

**Explanation: This code creates a plot with custom x-axis labels (Geeks1, Geeks2, etc.), rotates them vertically, and adjusts margins to avoid clipping of tick labels. plt.subplots_adjust() ensures the labels fit within the plot.

**2. Using Matplotlib.pyplot.xticks() with Zoomed-In Inset Plot

Python `

import matplotlib.pyplot as plt

from mpl_toolkits.axes_grid1.inset_locator import inset_axes, zoomed_inset_axes

def get_demo_image(): from matplotlib.cbook import get_sample_data import numpy as np f = get_sample_data("axes_grid / bivariate_normal.npy", asfileobj = False) z = np.load(f)

# z is a numpy array of 15x15 
return z, (3, 19, 4, 13) 

fig, ax = plt.subplots(figsize =[5, 4])

Z, extent = get_demo_image()

ax.set(aspect = 1, xlim =(0, 65), ylim =(0, 50))

axins = zoomed_inset_axes(ax, zoom = 2, loc ='upper right')

im = axins.imshow(Z, extent = extent, interpolation ="nearest", origin ="upper")

plt.xlabel('X-axis') plt.ylabel('Y-axis')

plt.xticks(visible = False) plt.show()

`

**Output:

**Explanation: This code creates a main plot with a zoomed-in inset using zoomed_inset_axes. The get_demo_image() function loads a sample 15×15 data array, which is displayed in both the main plot and the inset. The inset plot zooms in on a specific portion of the main plot.