Nó giống như bạn muốn axvspan
, chứ không phải là một trong những điền giữa các chức năng. Sự khác biệt là axvspan
(và axhspan
) sẽ lấp đầy toàn bộ phạm vi y (hoặc x) của âm mưu bất kể bạn thu phóng như thế nào.
Ví dụ: hãy sử dụng axvspan
để đánh dấu vùng x từ 8 đến 14:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, alpha=0.5, color='red')
plt.show()
Bạn có thể sử dụng fill_betweenx
để làm điều này, nhưng phạm vi (cả x và y) của hình chữ nhật sẽ nằm trong tọa độ dữ liệu . Với axvspan
, các khoảng y của hình chữ nhật được mặc định là 0 và 1 và nằm trong các trục tọa độ (nói cách khác là tỷ lệ phần trăm chiều cao của ô).
Để minh họa điều này, hãy làm cho hình chữ nhật mở rộng từ 10% đến 90% chiều cao (thay vì chiếm toàn bộ). Hãy thử thu phóng hoặc xoay và nhận thấy rằng các khoảng cách y cho biết cố định trong không gian hiển thị, trong khi các khoảng cách x di chuyển với thu phóng / xoay:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, ymin=0.1, ymax=0.9, alpha=0.5, color='red')
plt.show()
fill_between
để biết thêm "Wiggly", đường dây thẳng đứng, có một cái nhìn tại cáctransform
tham số (và câu trả lời này )