This piece of code simulates a scan with two plots overlaid. See figure 7.1.4
#!/usr/bin/env python3
import time, sys, random
import HasyUtils, PySpectra
import math
def main():
MAX = 100
pos = [float(n)/MAX for n in range( MAX)]
sin = PySpectra.Scan( name = 'sin', x = pos, y = pos,
yMin = -1., yMax=1., autoscaleY = False)
cos = PySpectra.Scan( name = 'cos', x = pos, y = pos, color = 'blue',
yMin = -1., yMax=1., autoscaleY = False)
PySpectra.overlay( "cos", "sin")
for i in range( sin.nPts):
sin.setX( i, i/10. + 0.01)
sin.setY( i, math.sin( i/10.))
cos.setX( i, i/10. + 0.01)
cos.setY( i, math.cos( i/10.))
PySpectra.display()
time.sleep( 0.1)
print( "Press <space> to quit")
while 1:
PySpectra.processEvents()
key = HasyUtils.inkey()
if key == 32:
return
time.sleep( 0.1)
return
if __name__ == "__main__":
import PySpectra.pySpectraGuiClass
app = PySpectra.QApplication(sys.argv)
gui = PySpectra.pySpectraGuiClass.pySpectraGui( flagExitOnClose = True)
gui.show()
main()