anchor.diff:      assert(dataPoint['point'].length == 2);
       assert(dataPoint.containsKey('value'));
       assert(dataPoint.containsKey('color'));
  +
  +    minX = dataPoint['point'][0] < minX ? dataPoint['point'][0] : minX;
  +    minY = dataPoint['point'][1] < minY ? dataPoint['point'][1] : minY;
  +    maxX = dataPoint['point'][0] > maxX ? dataPoint['point'][0] : maxX;
  +    maxY = dataPoint['point'][1] > maxY ? dataPoint['point'][1] : maxY;
  +  }
  +
  +  for (Map dataPoint in data) {
       // Color can be an int (the format of the image package for Dart)
       // or a (hex) string.
       String color;
  
positive.code:     } else {
        color = dataPoint['color'];
      }
      // Update maximum values.
      maxX = dataPoint['point'][0] > maxX ? dataPoint['point'][0] : maxX;
      maxY = dataPoint['point'][1] > maxY ? dataPoint['point'][1] : maxY;
  
      // Create the circle element
      svg.CircleElement point = new svg.CircleElement();
      point.attributes = {
        'cx': '${dataPoint['point'][0]}',
        'cy': '${dataPoint['point'][1]}',
        'r': '2',
        'fill': color,
      };
  
negative.code: 
    // Record maximum values of x and y which represent the width and height for
    // background necessary for zooming and panning.
    num minX, maxX, minY, maxY;
    minX = minY = double.INFINITY;
    maxX = maxY = double.NEGATIVE_INFINITY;
  
    for (Map dataPoint in data) {
  