2015-04-17 5 views
1

для моего проекта Мне нужно составить график, который отображает 15 пунктов и обновляет плотность с течением времени. В моем коде я получил функцию, которая возвращает float, который представляет плотность. Я хочу показать плотность с течением времени. Я много искал в stackoverflow/google, чтобы найти подходящий пример, но я не смог его найти. Мне нужен мой график в подзаголовке. В настоящее время я использую FigureCanvas для создания своего сюжета. Может ли кто-нибудь дать мне пример, как сделать живой график обновления? Я думаю, что я должен использовать что-то вроде numpy.append и сделать первую точку исчезнуть.Pygt4 live update graph

код, который я в настоящее время используют:

class MyMplCanvas(FigureCanvas): 
    """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.).""" 
    def __init__(self, parent=None, width=5, height=4, dpi=100): 
     fig = Figure(figsize=(width, height), dpi=dpi) 
     self.axes = fig.add_subplot(111) 
     self.axes.hold(False) 
     FigureCanvas.__init__(self, fig) 
     self.setParent(parent) 
     FigureCanvas.setSizePolicy(self, 
           QtGui.QSizePolicy.Expanding, 
           QtGui.QSizePolicy.Expanding) 
     FigureCanvas.updateGeometry(self) 

    def compute_initial_figure(self): 
     pass 

class MyDynamicMplCanvas(MyMplCanvas): 
    """A canvas that updates itself every second with a new plot.""" 
    def __init__(self, *args, **kwargs): 
     MyMplCanvas.__init__(self, *args, **kwargs) 
      timer = QtCore.QTimer(self) 
      timer.timeout.connect(self.update_figure) 
      timer.start(1000) 

def update_figure(self): 
    #code to update the figure 

ответ

0

У вас уже есть таймер, подключенный к функции.

Поставьте обновленные данные в update_figure и перерисуйте фигуру - просто, как это делается в примере, вы скопировали код из