def handleTimeout(self):
        x = self.plotArea().width() / self.axisX.tickCount()
        self.x_sum += x
        y = (self.axisX.max() - self.axisX.min()) / self.axisX.tickCount()
        self.m_x += y
        self.m_y = QRandomGenerator.global_().bounded(5) - 2.5
        self.axisX.setRange(self.x_sum, self.x_sum + 10)
        self.series.append(self.m_x, self.m_y)
        self.scroll(x, 0)     # PySide2.QtCharts.QtCharts.scroll can not work, please fix it, thanks!
        # the axisX can't being scroll by itself 
        if self.m_x >= 100:
            self.timer.stop()
- see more in DynamicSpline_PySide2.py thanks !