Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Add Third Level of Ticks in Python Matplotlib



To add third level of ticks in Python Matplotlib, we can take the following steps −

  • Set the figure size and adjust the padding between and around the subplots.
  • Create t and s data points using numpy.
  • Create a figure and a set of subplots.
  • Plot t and s using plot() method.
  • Create a twin Axes sharing the Y-axis.
  • Plot t and s using plot() method, on axis one.
  • Set X-axis tick position.
  • Create majors, minors and third level of ticks value (thirds).
  • Set major and minor ticks locator with majors, minors and third tick values (thirds)
  • Set ticks length using tick_params().
  • Plot a horizontal line with gray color.
  • To display the figure, use show() method.

Example

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

t = np.arange(0.0, 100.0, 0.1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)
fig, ax = plt.subplots()
plt.plot(t, s)

ax1 = ax.twiny()
ax1.plot(t, s)
ax1.xaxis.set_ticks_position('bottom')

majors = np.linspace(0, 100, 6)
minors = np.linspace(0, 100, 11)
thirds = np.linspace(0, 100, 101)

ax.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(majors))
ax.xaxis.set_minor_locator(matplotlib.ticker.FixedLocator(minors))
ax1.xaxis.set_major_locator(matplotlib.ticker.FixedLocator([]))
ax1.xaxis.set_minor_locator(matplotlib.ticker.FixedLocator(thirds))

ax1.tick_params(which='minor', length=2)
ax.tick_params(which='minor', length=4)
ax.tick_params(which='major', length=6)
ax.grid(which='both', axis='x', linestyle='--')

plt.axhline(color='gray')

plt.show()

Output

Updated on: 2021-07-08T10:40:43+05:30

314 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements