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

Cách thiết lập cùng tỷ lệ (same scale) cho subplots trong Python Matplotlib

Giới thiệu

Để thiết lập cùng một tỷ lệ (same scale) cho các subplot trong Python Matplotlib, bạn có thể sử dụng tham số sharex (hoặc sharey) khi tạo subplot thứ hai:

  • Thiết lập kích thước hình vẽ và padding.
  • Tạo figure mới.
  • Thêm axes ax1 với nrows=2, ncols=1, index=1.
  • Thêm axes ax2 với nrows=2, ncols=1, index=2 và sharex=ax1 để chia sẻ trục X (cùng tỷ lệ).
  • Tạo dữ liệu t để vẽ sin và cos trên ax1 và ax2.
  • Hiển thị hình vẽ bằng show().

Ví dụ minh họa

import matplotlib.pyplot as plt
import numpy as np

# Thiết lập kích thước hình
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# Tạo figure
fig = plt.figure()
# Thêm axes
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)

# Tạo dữ liệu
t = np.linspace(-5, 5, 100)

# Vẽ sin và cos trên ax1 và ax2
ax1.plot(t, np.sin(2 * np.pi * t), color='red', lw=4)
ax2.plot(t, np.cos(2 * np.pi * t), color='orange', lw=4)

plt.show()

Kết quả đầu ra

Hai subplot chia sẻ cùng trục X (cùng tỷ lệ và giới hạn):

Cách thiết lập cùng tỷ lệ (same scale) cho subplots trong Python MatplotlibCách thiết lập cùng tỷ lệ (same scale) cho subplots trong Python Matplotlib