Matplotlib.axes.Axes.set_xticklabels() in Python
Matplotlib is a library in Python and it is numerical - mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.
The Axes.set_xticklabels() function in axes module of matplotlib library is used to Set the x-tick labels with list of string labels.
Syntax: Axes.set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs)
Parameters: This method accepts the following parameters.
- labels : This parameter is the list of string labels.
- fontdict : This parameter is the dictionary controlling the appearance of the ticklabels.
- minor : This parameter is used whether set major ticks or to set minor ticks
Return value: This method returns a list of Text instances.
Below examples illustrate the matplotlib.axes.Axes.set_xticklabels() function in matplotlib.axes:
Example 1:
# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return (x - 4) * (x - 6) * (x - 5) + 100
a, b = 2, 9 # integral limits
x = np.linspace(0, 10)
y = func(x)
fig, ax = plt.subplots()
ax.plot(x, y, "k", linewidth = 2)
ax.set_ylim(bottom = 0)
# Make the shaded region
ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor ='green',
edgecolor ='0.5', alpha = 0.4)
ax.add_patch(poly)
ax.text(0.5 * (a + b), 30,
r"$\int_a ^ b f(x)\mathrm{d}x$",
horizontalalignment ='center',
fontsize = 20)
fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.set_xticks((a, b-a, b))
ax.set_xticklabels(('$a$', '$valx$', '$b$'))
fig.suptitle('matplotlib.axes.Axes.set_xticklabels() \
function Example\n\n', fontweight ="bold")
fig.canvas.draw()
plt.show()
Output:
Example 2:
# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
# Fixing random state for reproducibility
np.random.seed(19680801)
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
y2 = y + 0.2 * np.random.normal(size = x.shape)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.plot(x, y2)
ax.set_xticks([0, np.pi, 2 * np.pi])
ax.set_xticklabels(['0', r'$\pi$', r'2$\pi$'])
ax.spines['left'].set_bounds(-1, 1)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
fig.suptitle('matplotlib.axes.Axes.set_xticklabels() \
function Example\n\n', fontweight ="bold")
fig.canvas.draw()
plt.show()
Output: