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

Cách lấy độ dài đơn vị trên trục tọa độ trong Matplotlib


Để xác định độ dài (tính bằng pixel) của một đơn vị dữ liệu trên trục x và y trong Matplotlib, bạn có thể sử dụng transform transData.

  • Thiết lập kích thước hình vẽ và khoảng đệm.
  • Tạo dữ liệu x, y bằng NumPy.
  • Tạo hình vẽ và thêm subplot.
  • Vẽ dữ liệu.
  • Sử dụng ax.transData.transform() để chuyển đổi tọa độ dữ liệu sang pixel.
  • In ra độ dài ngang và dọc của một đơn vị.
  • Hiển thị hình vẽ.

Ví dụ minh họa

import numpy as np
import matplotlib.pyplot as plt

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

x = np.arange(0, 10, 0.005)
y = np.exp(-x / 2.) * np.sin(2 * np.pi * x)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)

xy = ax.transData.transform([(0, 1), (1, 0)]) - ax.transData.transform((0, 0))
print("Vertical length:", xy[0][1])
print("Horizontal length:", xy[1][0])

plt.show()

Kết quả đầu ra

Cách lấy độ dài đơn vị trên trục tọa độ trong Matplotlib

Ngoài đồ thị, console sẽ in ra:

Vertical length: 269.5
Horizontal length: 581.25