anchor.diff:      var g = svg.append("g");
       g.attr("transform", "translate(${margin["left"]},${margin["top"]})");
       
  -    if (is_stacked) {
  -      List last_series_total = [];
  -      for (int i = 0; i < _data.first.length; i += 1) {
  -        last_series_total.add(0);
  -      }
  -      for (List series in _data) {
  -        int i = 0;
  -        for (Map d in series) {
  -          num v = last_series_total[i];
  -          d['stack_start'] = v;
  -          v += d['value'];
  -          d['stack_end'] = v;
  -          last_series_total[i] = v;
  -          i += 1;
  -        }
  -      }
  +    List last_series_total = [];
  +    for (int i = 0; i < _data.first.length; i += 1) {
  +      last_series_total.add(0);
  +    }
  +    int series_index = 0;
  +    for (List series in _data) {
  +      int i = 0;
  +      for (Map d in series) {
  +        num v = last_series_total[i];
  +        d['series_index'] = series_index;
  +        d['stack_start'] = v;
  +        v += d['value'];
  +        d['stack_end'] = v;
  +        last_series_total[i] = v;
  +        i += 1;
  +      }
  +      
  +      series_index += 1;
       }
       
       var series1 = _data[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";
    }
  