Câu trả lời từ las3rjock , bằng cách nào đó là câu trả lời được OP chấp nhận, là không chính xác - mã không chạy, cũng không phải là cú pháp matplotlib hợp lệ; câu trả lời đó không cung cấp mã chạy được và thiếu bất kỳ thông tin hoặc gợi ý nào mà OP có thể thấy hữu ích trong việc viết mã của riêng họ để giải quyết vấn đề trong OP.
Cho rằng đó là câu trả lời được chấp nhận và đã nhận được nhiều phiếu ủng hộ, tôi cho rằng có một chút giải cấu trúc.
Thứ nhất, gọi âm mưu phụ nào không cung cấp cho bạn nhiều lô; subplot được gọi để tạo một ô duy nhất, cũng như để tạo nhiều ô. Ngoài ra, "thay đổi plt.figure (i)" là không đúng.
plt.figure () (trong đó plt hoặc PLT thường là thư viện pyplot của matplotlib được nhập và phục hồi dưới dạng biến toàn cục, plt hoặc đôi khi là PLT, như vậy:
from matplotlib import pyplot as PLT
fig = PLT.figure()
dòng ngay trên tạo ra một trường hợp hình matplotlib; Phương thức add_subplot của đối tượng này sau đó được gọi cho mọi cửa sổ vẽ biểu đồ (không chính thức hãy nghĩ về trục x & y bao gồm một ô con duy nhất). Bạn tạo (cho dù chỉ một hay nhiều trên một trang), như vậy
fig.add_subplot(111)
cú pháp này tương đương với
fig.add_subplot(1,1,1)
chọn một trong những ý nghĩa đối với bạn.
Dưới đây tôi đã liệt kê mã để vẽ hai ô trên một trang, một bên trên trang kia. Việc định dạng được thực hiện thông qua đối số được truyền vào add_subplot . Lưu ý đối số là ( 211 ) cho âm mưu đầu tiên và ( 212 ) cho âm mưu thứ hai.
from matplotlib import pyplot as PLT
fig = PLT.figure()
ax1 = fig.add_subplot(211)
ax1.plot([(1, 2), (3, 4)], [(4, 3), (2, 3)])
ax2 = fig.add_subplot(212)
ax2.plot([(7, 2), (5, 3)], [(1, 6), (9, 5)])
PLT.show()
Mỗi đối số trong số hai đối số này là một thông số kỹ thuật hoàn chỉnh để đặt đúng các cửa sổ âm mưu tương ứng trên trang.
211 (một lần nữa, cũng có thể được viết ở dạng 3 bộ như (2,1,1) có nghĩa là hai hàng và một cột của cửa sổ ô; chữ số thứ ba chỉ định thứ tự của cửa sổ ô con cụ thể đó so với các cửa sổ ô con khác- -trong trường hợp này, đây là ô đầu tiên (đặt nó trên hàng 1) do đó ô số 1, hàng 1 cột 1.
Đối số được truyền cho lệnh gọi thứ hai tới add_subplot , khác với đối số đầu tiên chỉ bởi chữ số ở cuối (số 2 thay vì số 1, vì biểu đồ này là ô thứ hai (hàng 2, cột 1).
Một ví dụ với nhiều ô hơn: nếu thay vào đó bạn muốn bốn ô trên một trang, trong cấu hình ma trận 2x2, bạn sẽ gọi phương thức add_subplot bốn lần, chuyển bốn đối số sau (221), (222), (223) và ( 224), để tạo bốn ô trên một trang ở các vị trí 10, 2, 8 và 4 giờ, theo thứ tự này.
Lưu ý rằng mỗi đối số trong số bốn đối số chứa hai dẫn đầu 2 - mã hóa cấu hình 2 x 2, tức là hai hàng và hai cột.
Chữ số thứ ba (ngoài cùng bên phải) trong mỗi bốn đối số mã hóa thứ tự của cửa sổ biểu đồ cụ thể đó trong ma trận 2 x 2 - tức là hàng 1 ô 1 (1), hàng 1 ô 2 (2), hàng 2 col 1 (3), hàng 2 col 2 (4).