Thx Daniel I didn't know extend and it's more suitable for my program.
It doesn't change the problem of plotting, but thx again!


2011/12/2 Daniel Hyams <dhy...@gmail.com>:
> I don't have PyQt installed, so I couldn't test the code, but don't you want
> to be using "extend" and not "append", if you are returning a list from your
> two get_info() functions?
>
> On Fri, Dec 2, 2011 at 8:13 AM, Fabien Lafont <lafont.fab...@gmail.com>
> wrote:
>>
>> Hello everyone, I'm trying to plot live data extracting from remote
>> devices (here it's simulated by get_info1 and 2 the result is always
>> 0.8 or 0.9
>>
>> I can't understand why it doesnt plot the graph at the end of the
>> while loop. Does somebody has an idea?
>>
>> #!/usr/bin/env python
>>
>> from visa import *
>> from pylab import *
>> import sys
>> from PyQt4 import QtGui
>> import numpy as np
>> from matplotlib.figure import Figure
>> from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as
>> FigureCanvas
>> from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg
>> as NavigationToolbar
>>
>>
>> #===============================================================================
>> #
>>
>> #===============================================================================
>>
>> class CPUMonitor(FigureCanvas):
>>    """Matplotlib Figure widget"""
>>    def __init__(self,parent):
>>
>>        # first image setup
>>        self.fig = Figure()
>>        self.ax = self.fig.add_subplot(111)
>>        # initialization of the canvas
>>        FigureCanvas.__init__(self, self.fig)
>>        # set specific limits for X and Y axes
>>        self.ax.set_xlim(0, 2)
>>        self.ax.set_ylim(0, 1.5)
>>
>>
>>        # generates first "empty" plots
>>        self.user, self.nice = [], []
>>        self.l_user, = self.ax.plot([], self.user, label='Voltage')
>>        self.l_nice, = self.ax.plot([], self.nice, label='Voltage2')
>>
>>
>>
>>        self.ax.legend()
>>
>>        # force a redraw of the Figure
>>        self.fig.canvas.draw()
>>
>>        self.principal()
>>
>>
>>
>>
>>    def principal(self) :
>>        stop = 0
>>        while stop==0 :
>>            time.sleep(1)
>>            self.set_voltage()
>>            time.sleep(1)
>>            result1 = self.get_info()
>>            result2 = self.get_info2()
>>
>> #          append new data to the datasets
>>            self.user.append(result1)
>>            self.nice.append(result2)
>>
>>        self.l_user.set_data(range(len(self.user)), self.user)
>>        self.l_nice.set_data(range(len(self.nice)), self.nice)
>>
>>        # force a redraw of the Figure
>>
>>        self.fig.canvas.draw()
>>        FigureCanvas.updateGeometry(self)
>>
>>    def get_info(self):
>>        return [0.8]
>>
>>    def get_info2(self) :
>>        return [0.9]
>>
>>    def set_voltage(self) :
>>        print "ok"
>>
>>
>>
>>
>>
>> #===============================================================================
>> #
>>
>> #===============================================================================
>>
>>
>>
>> class ApplicationWindow(QtGui.QMainWindow):
>>    """Example main window"""
>>    def __init__(self):
>>        # initialization of Qt MainWindow widget
>>        QtGui.QMainWindow.__init__(self)
>>        # set window title
>>        self.setWindowTitle("QHE manip")
>>        # instantiate a widget, it will be the main one
>>        self.main_widget = QtGui.QWidget(self)
>>        # create a vertical box layout widget
>>        vbl = QtGui.QVBoxLayout(self.main_widget)
>>        # instantiate our Matplotlib canvas widget
>>        qmc = CPUMonitor(self.main_widget)
>>        # instantiate the navigation toolbar
>>        ntb = NavigationToolbar(qmc, self.main_widget)
>>        # pack these widget into the vertical box
>>        vbl.addWidget(qmc)
>>        vbl.addWidget(ntb)
>>
>>        # set the focus on the main widget
>>        self.main_widget.setFocus()
>>        # set the central widget of MainWindow to main_widget
>>        self.setCentralWidget(self.main_widget)
>>
>> # create the GUI application
>> qApp = QtGui.QApplication(sys.argv)
>> # instantiate the ApplicationWindow widget
>> aw = ApplicationWindow()
>> # show the widget
>> aw.show()
>> # start the Qt main loop execution, exiting from this script
>> # with the same return code of Qt application
>> sys.exit(qApp.exec_())
>>
>>
>> ------------------------------------------------------------------------------
>> All the data continuously generated in your IT infrastructure
>> contains a definitive record of customers, application performance,
>> security threats, fraudulent activity, and more. Splunk takes this
>> data and makes sense of it. IT sense. And common sense.
>> http://p.sf.net/sfu/splunk-novd2d
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
>
>
> --
> Daniel Hyams
> dhy...@gmail.com
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure
> contains a definitive record of customers, application performance,
> security threats, fraudulent activity, and more. Splunk takes this
> data and makes sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-novd2d
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to