Đây có thể là một vấn đề phổ biến đối với những người mới sử dụng Matplotlib để vẽ các đường dọc và ngang. Để hiểu vấn đề này, bạn nên biết rằng trong Matplotlib tồn tại các hệ tọa độ khác nhau .
Phương pháp axhline và axvline được sử dụng để vẽ các đường tại các trục tọa độ . Trong hệ tọa độ này, tọa độ cho điểm dưới cùng bên trái là (0,0), trong khi tọa độ cho điểm trên cùng bên phải là (1,1), bất kể phạm vi dữ liệu của biểu đồ của bạn là bao nhiêu. Cả tham số xmin
và xmax
đều nằm trong phạm vi [0,1].
Mặt khác, phương pháp hlines và vlines được sử dụng để vẽ các đường tại tọa độ dữ liệu . Phạm vi cho xmin
và xmax
nằm trong phạm vi giới hạn dữ liệu của trục x.
Hãy lấy một ví dụ cụ thể,
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.axhline(y=0.5, xmin=0.0, xmax=1.0, color='r')
ax.hlines(y=0.6, xmin=0.0, xmax=1.0, color='b')
plt.show()
Nó sẽ tạo ra âm mưu sau:
Giá trị cho xmin
và xmax
giống nhau đối với phương thức axhline
và hlines
. Nhưng độ dài của dây chuyền sản xuất là khác nhau.