Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để lấy độ dài của một đơn vị trên một trục trong Matplotlib?


Để có được độ dài của một đơn vị trên một trục trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Tạo x y điểm dữ liệu bằng cách sử dụng numpy.
  • Tạo một hình mới hoặc kích hoạt một hình hiện có bằng cách sử dụng figure () phương pháp.
  • Thêm '~ .axes.Axes' vào hình như một phần của sự sắp xếp lô phụ.
  • Lô đất x y điểm dữ liệu bằng cách sử dụng plot () phương pháp.
  • Để có được độ dài đơn vị duy nhất, hãy sử dụng transData biến đổi.
  • In chiều dài theo chiều ngang và chiều dọc.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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

Đầu ra

Làm cách nào để lấy độ dài của một đơn vị trên một trục trong Matplotlib?

Ngoài cốt truyện, chúng ta sẽ nhận được kết quả sau trên bảng điều khiển -

Vertical length: 269.5
Horizontal length: 581.25