'Get the largest & smallest bar values as (min_value, max_value).'

def GetMinMaxValues(self):

    if (not self.stacked):
        return super(BarChart, self).GetMinMaxValues()
    if (not self.data):
        return (None, None)
    num_bars = max((len(series.data) for series in self.data))
    positives = [0 for i in xrange(0, num_bars)]
    negatives = list(positives)
    for series in self.data:
        for (i, point) in enumerate(series.data):
            if point:
                if (point > 0):
                    positives[i] += point
                else:
                    negatives[i] += point
    min_value = min(min(positives), min(negatives))
    max_value = max(max(positives), max(negatives))
    return (min_value, max_value)
