Từ matplotlib documentation:
Nếu con số này đã có một âm mưu phụ với chìa khóa (args, kwargs) sau đó nó sẽ chỉ cần thực hiện âm mưu phụ rằng hiện tại và gửi lại.
Dưới đây là một ví dụ:
import matplotlib.pyplot as plt
fig = plt.figure()
for vplot in [1,2,3]:
ax = fig.add_subplot(3,1,vplot)
ax.plot(range(10),range(10))
ax_again = fig.add_subplot(3,1,2)
ax_again.annotate("The middle one",xy=(7,5),xytext=(7,5))
plt.show()
Cốt truyện giữa được gọi là một lần nữa để nó có thể được chú thích.
Nếu tôi đặt nền với cuộc gọi ban đầu, tôi có cần đặt lại khi tôi nhận phụ đề lần thứ hai không?
Có. Các đối số và từ khóa cho cuộc gọi ban đầu được sử dụng để tạo một số nhận dạng duy nhất. Vì vậy, để con số để tạo ra định danh duy nhất này một lần nữa, bạn cần phải vượt qua các đối số tương tự (định nghĩa lưới, vị trí) và từ khóa một lần nữa. Ví dụ:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2,1,1,axisbg='red')
ax.plot(range(10),range(10))
ax = fig.add_subplot(2,1,2)
ax.plot(range(10),range(10))
ax_again = fig.add_subplot(2,1,1,axisbg='red')
ax_again.annotate("The top one",xy=(7,5),xytext=(7,5))
plt.show()
gì nếu tôi sử dụngax_again.change_geometry()
?
Bạn sẽ nghĩ change_geometry, ví dụ: từ 312 đến 422, sẽ thay đổi cách bạn sử dụng add_subplot, nhưng không. Dường như có lỗi hoặc hành vi không xác định khi bạn gọi hàm change_geometry. Khóa duy nhất được tạo ban đầu bằng cách sử dụng các đối số và từ khóa, để gọi hàm add_subplot đầu tiên, không được cập nhật. Do đó, nếu bạn muốn lấy lại trục với lệnh gọi add_subplot, bạn cần gọi add_subplot với đối số và từ khóa gốc. Để biết thêm thông tin, hãy làm theo báo cáo vấn đề này: https://github.com/matplotlib/matplotlib/issues/429
Dự đoán của tôi bây giờ là nếu bạn thay đổi bất kỳ thuộc tính nào của subplot sau khi tạo cuộc gọi với add_subplot, số duy nhất sẽ không được điều chỉnh. Vì vậy, chỉ cần sử dụng các đối số và từ khóa ban đầu và hy vọng điều này sẽ hiệu quả.
Tôi đã dành hàng giờ rót qua các tài liệu đó, nhưng tôi vẫn quản lý để bỏ qua phần quan trọng đó. Cảm ơn – c00kiemonster
Tôi muốn tôi hiểu matplotlib trong ra ngoài. Nó chắc chắn sẽ làm cho công việc của tôi dễ dàng hơn. Phải mất một thời gian nữa, và nó chắc chắn không dễ dàng trêu chọc những chi tiết này từ các tài liệu. Tôi đang cố gắng xem bạn có vượt qua số lượng lớn trong cuộc gọi ban đầu hay không, bạn có phải truyền chúng chính xác lần thứ hai không, như các tài liệu đề xuất. Tôi sẽ cập nhật mọi thứ nếu tôi nghĩ ra bất cứ điều gì. – Yann
Vì vậy, nó chỉ ra rằng các lớp hình có một chức năng thành viên tư nhân _make_key rằng '(làm cho) một khóa băm ra khỏi args và kwargs'; này được sử dụng để xác định subplot (và tôi đoán tất cả các trục thuộc về một hình). Vì vậy, có bạn cần phải sử dụng chính xác các đối số và từ khóa giống nhau. – Yann