anchor.diff:      var y_extent = [0, 1e-6];
       for (List series in _data) {
         var extents = extent(series, (d,i) {
  -        num v = d["stack_end"];
  +        num v;
  +        if (is_stacked) {
  +          v = d["stack_end"];
  +        } else {
  +          v = d["value"];
  +        }
  +        
           if (v.isNaN || v.isInfinite) {
             v = 0;
           }
  
positive.code:     renderLegend($elmt, _data, color);
  
      if (popoverContentFunc != null) {
        _ColumnPopover hover = new _ColumnPopover($elmt, width, height, margin, x, y);
        hover.popoverContentFunc = popoverContentFunc;
            
        for (Selection rect in rects) {
  
negative.code:   var margin;
    var x;
    var y;
    final bool is_stacked;
    final num bar_width;
    
    _ColumnPopover(Element $elmt, num width, num height, var this.margin, var this.x, var this.y, bool this.is_stacked, num this.bar_width) : 
      super($elmt, null, width, height);
    
    void position(Object _d) {
      Map d = _d as Map;
      $popover_title.text = d['x'].toString();
      
      Rectangle rect = $hover.getBoundingClientRect();
      int xoff;
      int yoff;
      
      if (is_stacked) {
        xoff = (x(d['x']) + margin['left'] - rect.width).floor();
        yoff = (y(d['stack_end']) + margin['top'] - (rect.height / 2)).floor();
      } else {
        xoff = (x(d['x']) + d['series_index'] * bar_width + margin['left'] - rect.width).floor();
        yoff = (y(d['value']) + margin['top'] - (rect.height / 2)).floor();
      }
      
      $hover.style.left = "${xoff}px";
      $hover.style.top = "${yoff}px";
    }
  