'Set the symbol(s) used to draw each spot.
If a list or array is provided, then the symbol for each spot will be set separately.
Otherwise, the argument will be used as the default symbol for
all spots which do not have a symbol explicitly set.'

def setSymbol(self, symbol, update=True, dataSet=None, mask=None):

    if (dataSet is None):
        dataSet = self.data
    if (isinstance(symbol, np.ndarray) or isinstance(symbol, list)):
        symbols = symbol
        if (mask is not None):
            symbols = symbols[mask]
        if (len(symbols) != len(dataSet)):
            raise Exception(('Number    of    symbols    does    not    match    number    of    points    (%d    !=    %d)' % (len(symbols), len(dataSet))))
        dataSet['symbol'] = symbols
    else:
        self.opts['symbol'] = symbol
        self._spotPixmap = None
    dataSet['sourceRect'] = None
    if update:
        self.updateSpots(dataSet)
