Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách thêm cấp tick thứ ba trong Python Matplotlib?


Để thêm cấp tick thứ ba trong Python Matplotlib, chúng ta có thể thực hiện các bước sau:

  • Thiết lập kích thước figure và điều chỉnh padding giữa và xung quanh subplots.
  • Tạo điểm dữ liệu t và s bằng numpy.
  • Tạo figure và tập subplots.
  • Vẽ t và s dùng plot().
  • Tạo twin Axes chia sẻ trục Y.
  • Vẽ t và s dùng plot() trên trục 1.
  • Đặt vị trí tick trục X.
  • Tạo majors, minors và cấp tick thứ ba (thirds).
  • Đặt locator major và minor ticks với majors, minors và giá trị tick thứ ba (thirds).
  • Đặt độ dài tick dùng tick_params().
  • Vẽ đường ngang màu xám.
  • Để hiển thị figure, dùng phương thức show().

Ví dụ

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()

Kết quả

Cách thêm cấp tick thứ ba trong Python Matplotlib?