Thx all for your remarks,
I can't understand why this code works (when I use the timer method):
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 02 17:10:22 2011
@author: lafont
"""
#!/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, 40)
# self.ax.set_ylim(0, 1.5)
#
FigureCanvas.updateGeometry(self)
# 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')
# add legend to plot
self.ax.legend()
# force a redraw of the Figure
self.fig.canvas.draw()
# start the timer, to trigger an event every x milliseconds)
self.timer = self.startTimer(1000)
self.timerEvent(None)
def get_info(self):
return [0.8]
def get_info2(self) :
return [0.9]
def set_voltage(self) :
print "ok"
#
def timerEvent(self, evt):
"""Custom timerEvent code, called upon timer event receive"""
result1 = self.get_info()
result2 = self.get_info2()
# append new data to the datasets
self.user.append(result1)
self.nice.append(result2)
# update lines data using the lists with new data
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)
#===============================================================================
#
#===============================================================================
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_())
And this code doesn't show anything... Somebody understand why?
Thanks,
Fabien
2011/12/4 David Hoese <[email protected]>
>
> I think you forget to set the layout on your central widget.
>
> self.main_widget.setLayout(vbl) # in your case
>
> -Dave
>
> On 12/4/2011 9:57 AM, [email protected] wrote:
> > 2011/12/2 Daniel Hyams<[email protected]>:
> >> > 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<[email protected]>
> >> > 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?
>
> ------------------------------------------------------------------------------
> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users