Я хочу сделать серию сюжетов (предназначенных для создания анимации), и поэтому я хочу повторно использовать оси и сохранить границы x и y на всех графиках, поэтому я установил ax.autoscale(False)
. Однако, когда я очищаю оси, используя plt.cla(), чтобы нарисовать следующее изображение, настройка автомасштаба переопределяется, поэтому я должен установить ax.autoscale(False)
, а пределы x и y - на каждой итерации.Сохранять автомасштабирование при очистке осей в matplotlib
In [49]: fig = plt.figure(1)
In [50]: ax = fig.add_subplot(1, 1, 1)
In [59]: ax.get_autoscale_on()
Out[59]: True
In [60]: ax.autoscale(False)
In [61]: ax.get_autoscale_on()
Out[61]: False
In [62]: plt.cla()
In [63]: ax.get_autoscale_on()
Out[63]: True
, так что я в конечном итоге делает ax.lines = []
или ax.lines.pop()
, но это заставляет меня, чтобы установить цвет на каждом участке, чтобы избежать цвета на велосипеде. Если я установил hold
в False
, тогда настройка автомасштаба сбрасывается каждый раз, когда я звоню ax.plot()
. Есть ли другой способ сохранить свойства осей при удалении всех графиков?
Почему бы просто не обновить данные художника, а не делать вызов 'plot' каждый раз? –
Не знаю, как я могу это сделать. Не могли бы вы разместить его в качестве ответа? – astrojuanlu