anchor.diff:      }
   
       table("ods-table", rawData.slice(24, 44));
  +
  +    $('.tipsit').tipsy({fade: false, gravity: 's', html: true});
  +    $('.tipsit-n').tipsy({fade: false, gravity: 'n', html: true});
  +    $('.tipsit-w').tipsy({fade: false, gravity: 'w', html: true});
  +    $('.tipsit-e').tipsy({fade: false, gravity: 'e', html: true});
  +    $('.tipsit-treemap').tipsy({fade: false, gravity: $.fn.tipsy.autoNS, html: true});
     });
   });
   
  
positive.code: 
    let columnNames = [""].concat(Object.values(data[0])).slice(0, 18).concat([""]);
    let columnNumbers = [""].concat(Object.keys(data[0]).map(i => parseInt(i)).filter( i => i > 0 )).concat(["TOTAL"]);
    // let columns = [columnNames, columnNumbers];
  
    // append the header row with the numbers
    thead.append( "tr" )
  
negative.code:     .enter()
      .append( "th" )
      .attr("class", (d, i) => "ods-" + i + " tipsit")
      .text( function ( d ) { return d; } );
  
    // append the header row with the col names
    table.selectAll("thead")
      .selectAll( "th" )
      .data( columnNames )
      .attr("title", function ( d ) { return d; })
  
    // create a row for each object in the data
    let rows = tbody.selectAll( "tr" )
  