Could please anyone help me to get axises autoscaling in following example? I took it from the examples and slightly modified it to remove all unecessary things trying to make it as short as possible.
Thanks in advance!
import sys
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from PyQt4 import QtGui
import numpy as np
import time
class BlitQT(FigureCanvas):
def __init__(self):
FigureCanvas.__init__(self, Figure())
self.ax = self.figure.add_subplot(111)
self.ax.grid()
self.draw()
self.ax_background = self.copy_from_bbox(self.ax.bbox)
self.cnt = 0
self.x = np.arange(0,2*np.pi,0.01)
self.sin_line, = self.ax.plot(self.x, np.sin(self.x), animated=True)
self.cos_line, = self.ax.plot(self.x, np.cos(self.x), animated=True)
self.tstart = time.time()
self.startTimer(10)
def timerEvent(self, evt):
self.restore_region(self.ax_background, bbox=self.ax.bbox)
# update the data
self.sin_line.set_ydata(np.sin(self.x+self.cnt/10.0))
self.cos_line.set_ydata((self.x+self.cnt)/50.0)
# just draw the animated artist
self.ax.draw_artist(self.sin_line)
self.ax.draw_artist(self.cos_line)
# just redraw the axes rectangle
self.blit(self.ax.bbox)
if self.cnt == 0:
self.draw()
self.cnt += 1
app = QtGui.QApplication(sys.argv)
widget = BlitQT()
widget.show()
sys.exit(app.exec_())