我正在使用matplotlib在Python中绘制数据。根据一些计算,我正在更新绘图的数据,并希望自动重新调整ylim和xlim。但实际上会发生的是,刻度是基于初始绘图的限制设置的。以下是一个MWE:
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()
第一个绘图命令从[0,1]
生成一个图,我可以看到一切都很好。最后,y数据数组从[0,10)
开始,大部分大于1
,但是图的y限制仍然是[0,1]
。
我知道我可以使用pyplot.ylim(...)
手动更改限制,但我不知道要更改为什么值。在for
循环中,我能否告诉pyplot按照第一次绘图时的比例来缩放限制?