Have a look at the "ImageItem - Video" (ImageItem.py) example:

python -m pyqtgraph.examples



On Sunday, February 11, 2018 10:42:28 PM CET 'Chamath Vithanawasam' via 
pyqtgraph wrote:
> So I am new to pyqtgraph and I need to collect 20 values from a GPIO pin
> and then update it into a graph. This needs to keep happening repeatedly as
> fast as possible. I managed to get it to happen on a loop, only problem is
> a new plot opens every time. Any way of making sure the same plot is reused?
> 
> My code is as shown.
> 
> # Simple example of reading the MCP3008 analog input channels and printing
> # them all out.
> import time
> import os
> 
> 
> # Import SPI library (for hardware SPI) and MCP3008 library.
> import Adafruit_GPIO.SPI as SPI
> import Adafruit_MCP3008
> 
> 
> # include RPi libraries in to Python code
> import RPi.GPIO as GPIO
> import time
> from time import sleep
> 
> 
> ##BELOW ARE STUFF ASSOCIATED WITH THE PLOTTING
> 
> from pyqtgraph.Qt import QtGui, QtCore
> import numpy as np
> import pyqtgraph as pg
> 
> 
> #-------------------------------------------#
> 
> 
> # Software SPI configuration:
> #CLK  = 18
> #MISO = 23
> #MOSI = 24
> #CS   = 25
> #mcp = Adafruit_MCP3008.MCP3008(clk=CLK, cs=CS, miso=MISO, mosi=MOSI)
> 
> 
> # Hardware SPI configuration:
> SPI_PORT   = 0
> SPI_DEVICE = 0
> mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
> 
> 
> #QtGui.QApplication.setGraphicsSystem('raster')
> app = QtGui.QApplication([])
> #mw = QtGui.QMainWindow()
> #mw.resize(800,800)
> 
> 
> #-------------------------------------------#
> 
> pg.setConfigOptions(antialias=True)
> 
> def updateSensor1():
> 
>     global newArray, values, data, reshaped
>     newArray = []
> 
>     for x in range(20):
>         values = [0]*8
>         #for i in range(8):
>         #The read_adc function will get the value of the specified channel
> (0-7).
>         values[0] = mcp.read_adc(0)
>         # Print the ADC values.
> 
>         print('Current value is')
>         print(values[0])
> 
>         newArray.append([values[0]])
>         print(newArray)
> 
>         time.sleep(0.05)
> 
> 
>         ##ranArray = np.random
>     ranArray = np.asarray(newArray)
>     data = np.asarray(newArray)
> 
> 
>     print(data)
> 
> 
>     reshaped = np.reshape(data, (20,))
>     print(reshaped)
> 
> 
>     p6 = pg.PlotWindow(title = "S11")
>     finitecurve = pg.PlotDataItem(reshaped, pen=(255, 255, 0))
>     p6.addItem(finitecurve)
>     p6.show()
> 
> 
> timer1 = QtCore.QTimer()
> timer1.timeout.connect(updateSensor1)
> timer1.start(50)
> 
> if __name__ == '__main__':
>     import sys
>     if sys.flags.interactive != 1 or not hasattr(pg.QtCore, 'PYQT_VERSION'):
> pg.QtGui.QApplication.exec_()
> 
> 
> 
> 
> Thanks in advance.


-- 
+----------------------------------------------------+
 Carlos Pascual Izarra
 Scientific Software Coordinator
 Computing Division
 ALBA Synchrotron  [http://www.albasynchrotron.es]
 Carrer de la Llum 2-26
 E-08290 Cerdanyola del Valles (Barcelona), Spain
 E-mail: [email protected]
 Phone: +34 93 592 4428
+----------------------------------------------------+

-- 
You received this message because you are subscribed to the Google Groups 
"pyqtgraph" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/3743167.bhqDu7yqT1%40pc218.
For more options, visit https://groups.google.com/d/optout.

Reply via email to