def __call__(self, chart):
    if not chart.data:
      return # Nothing to do.
    min_value, max_value = chart.GetMinMaxValues()
    if None in (min_value, max_value):
      return  # No data.  Nothing to do.

    # Honor user's choice, if they've picked min/max.
    for axis in chart.GetDependentAxes():
      if axis.min is not None:
        min_value = axis.min
      if axis.max is not None:
        max_value = axis.max

    buffer = (max_value - min_value) * self.buffer  # Stay away from edge.

    for axis in chart.GetDependentAxes():
      if axis.min is None:
        axis.min = min_value - buffer
      if axis.max is None:
        axis.max = max_value + buffer
Testing Point exceptions
dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/_internal/graphy/formatters.py/AutoScale.__call__--crossover with--dataset/ETHPy150Open AppScale/appscale/AppServer/lib/django-1.4/django/contrib/gis/geos/tests/test_geos_mutation.py/GEOSMutationTest.test02_PointExceptions