'Get the largest & smallest values in this chart, returned as
(min_value, max_value).  Takes into account complciations like stacked data
series.
For example, with non-stacked series, a chart with [1, 2, 3] and [4, 5, 6]
would return (1, 6).  If the same chart was stacking the data series, it
would return (5, 9).'

def GetMinMaxValues(self):

    MinPoint = (lambda data: min((x for x in data if (x is not None))))
    MaxPoint = (lambda data: max((x for x in data if (x is not None))))
    mins = [MinPoint(series.data) for series in self.data if series.data]
    maxes = [MaxPoint(series.data) for series in self.data if series.data]
    if ((not mins) or (not maxes)):
        return (None, None)
    return (min(mins), max(maxes))
