text: # -*- coding: utf-8 -*-
  import initExample ## Add path to library (just for examples; you do not need this)
  
  import pyqtgraph as pg
  from pyqtgraph.Qt import QtCore, QtGui
  import numpy as np
  
  pg.mkQApp()
  
  spw = pg.ScatterPlotWidget()
  spw.show()
  
  data = np.array([
      (1, 1, 3, 4, 'x'),
      (2, 3, 3, 7, 'y'),
      (3, 2, 5, 2, 'z'),
      (4, 4, 6, 9, 'z'),
      (5, 3, 6, 7, 'x'),
      (6, 5, 4, 6, 'x'),
      (7, 5, 8, 2, 'z'),
      (8, 1, 2, 4, 'x'),
      (9, 2, 3, 7, 'z'),
      (0, 6, 0, 2, 'z'),
      (1, 3, 1, 2, 'z'),
      (2, 5, 4, 6, 'y'),
      (3, 4, 8, 1, 'y'),
      (4, 7, 6, 8, 'z'),
      (5, 8, 7, 4, 'y'),
      (6, 1, 2, 3, 'y'),
      (7, 5, 3, 9, 'z'),
      (8, 9, 3, 1, 'x'),
      (9, 2, 6, 2, 'z'),
      (0, 3, 4, 6, 'x'),
      (1, 5, 9, 3, 'y'),
      ], dtype=[('col1', float), ('col2', float), ('col3', int), ('col4', int), ('col5', 'S10')])
  
  spw.setFields([
      ('col1', {'units': 'm'}),
      ('col2', {'units': 'm'}),
      ('col3', {}),
      ('col4', {}),
      ('col5', {'mode': 'enum', 'values': ['x', 'y', 'z']}),
      ])
      
  spw.setData(data)
  
  
  ## Start Qt event loop unless running in interactive mode or using pyside.
  if __name__ == '__main__':
      import sys
      if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
          QtGui.QApplication.instance().exec_()
  