Tôi đang vẽ dữ liệu bằng Python bằng matplotlib. Tôi đang cập nhật dữ liệu của cốt truyện dựa trên một số tính toán và muốn ylim và xlim được thay đổi kích thước tự động. Thay vào đó những gì xảy ra là quy mô được thiết lập dựa trên các giới hạn của cốt truyện ban đầu. MWE làTự động rescale ylim và xlim trong Matplotlib
import random
import matplotlib.pyplot as pyplot
pyplot.ion()
x = range(10)
y = lambda m: [m*random.random() for i in range(10)]
pLine, = pyplot.plot(x, y(1))
for i in range(10):
pLine.set_ydata(y(i+1))
pyplot.draw()
Lệnh lô đầu tiên tạo lô từ [0,1]
và tôi có thể thấy mọi thứ đều tốt. Cuối cùng, mảng dữ liệu y chuyển từ [0,10)
với hầu hết nó lớn hơn 1
, nhưng giới hạn y của hình vẫn là [0,1]
.
Tôi biết tôi có thể thay đổi giới hạn bằng cách sử dụng pyplot.ylim(...)
theo cách thủ công, nhưng tôi không biết phải thay đổi điều gì. Trong vòng lặp for
, tôi có thể nói pyplot để mở rộng giới hạn như thể đây là lần đầu tiên được vẽ đồ thị?
Xem hai câu trả lời liên quan: http://stackoverflow.com/a/3215060/623518 và http://stackoverflow.com/a/7198623/623518 – Chris