anchor.diff:  
               var y = d3.scale.linear()
                   .domain([0,d3.max([#{chanFreq}])])
  -                .rangeRound([0,h]);
  +                .rangeRound([0,h-toppad]);
   
               var chart = d3.select($("#chanFreqChart")[0]).append("svg")
                   .attr("class", "chart")
  -                .attr("width", w * #{chanFreqLen} - 1)
  -                .attr("height", h + xlab);
  +                .attr("width", chartw)
  +                .attr("height", h + timelabels);
   
               chart.selectAll(".yTicks")
  -                .data(y.ticks(5).slice(1,5))
  +                .data(y.ticks(5).slice(1))
                   .enter().append("svg:line")
                   .attr("class", "yTicks")
                   .attr("y1", function(d) { return -1 * y(d) + h; })
                   .attr("x1", 0)
                   .attr("y2", function(d) { return -1 * y(d) + h; })
  -                .attr("x2", w * #{chanFreqLen})
  +                .attr("x2", chartw)
   
               chart.selectAll("rect")
                   .data([#{chanFreq}])
                 .enter().append("rect")
  -                .attr("x", function(d, i) { return x(i) - .5; })
  +                .attr("x", function(d, i) { return x(i) - .5 + ticks; })
                   .attr("y", function(d) { return h - y(d) - .5; })
                   .attr("width", w)
                   .attr("height", function(d) { return y(d); })
                   .attr("title", function(d){ return d; });
   
  -            chart.selectAll(".rule")
  +            chart.selectAll(".l_rule")
  +              .data(y.ticks(5).slice(1))
  +              .enter().append("text")
  +              .attr("class", "rule")
  +              .attr("y", function(d) { return -1 * y(d) + h; })
  +              .attr("x", 0)
  +              .attr("text-anchor", "right")
  +              .attr("font-size", 10)
  +              .attr("dy", 3)
  +              .text(String);
  +            chart.selectAll(".r_rule")
                 .data(y.ticks(5).slice(1,5))
                 .enter().append("text")
                 .attr("class", "rule")
                 .attr("y", function(d) { return -1 * y(d) + h; })
  -              .attr("x", (chartw / 2)+(w/2))
  -              .attr("text-anchor", "middle")
  +              .attr("x", chartw)
  +              .attr("text-anchor", "end")
                 .attr("font-size", 10)
                 .attr("dy", 3)
                 .text(String);
   
               chart.append("line")
  -              .attr("x1", 0)
  -              .attr("x2", w * #{chanFreqLen})
  +              .attr("x1", 0 + ticks)
  +              .attr("x2", chartw - ticks)
                 .attr("y1", h - .5)
                 .attr("y2", h - .5)
                 .style("stroke", "#000");
  
positive.code:             chart.selectAll("text.days")
                .data(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"])
                .enter().append("text")
                .attr("x", function(d, i){ return ((i+0.5) * w * 24); })
                .attr("y", h + 25)
                .attr("text-anchor", "middle")
                .attr('class', 'name')
  
negative.code:             chart.selectAll("text.times")
                .data(["0", "6", "12", "18","0", "6", "12", "18","0", "6", "12", "18","0", "6", "12", "18" ,"0", "6", "12", "18" ,"0", "6", "12", "18" ,"0", "6", "12", "18"])
                .enter().append("text")
                .attr("x", function(d, i){ return ((i * w * 6)+(w/2)) + ticks; })
                .attr("y", h + 10)
                .attr("text-anchor", "middle")
                .attr('class', 'name')
  