anchor.diff:    polyline.exit()
       .remove();
   
  -  /* ------- PREVIEW (NO DATA) -------*/
  -  mask = svg.select(".preview");
  -  children = mask.selectAll("*");
  -  if (preview && children.empty()) {
  -    mask.append("rect")
  -      .attr("x", -width / 2)
  -      .attr("y", -height / 2)
  -      .attr("width", width)
  -      .attr("height", height)
  -      .attr("fill", "white")
  -      .attr("opacity", 0.75);
  -
  -    mask.append("text")
  -      .text("Preview")
  -      .attr("dy", ".4em")
  -      .style("text-anchor", "middle")
  -      .style("font-size", "1.9em");
  -  }
  -  else if (!preview) {
  -    children.remove();
  +  /* ------- SHOW OR HIDE PREVIEW / NO DATA -------*/
  +  if (is_preview) {
  +    svg.select(".preview")
  +      .style("visibility", "visible");
  +  }
  +  else {
  +    svg.select(".preview")
  +      .style("visibility", "hidden");
  +  }
  +  if (data.length < 1) {
  +    svg.select(".no_data")
  +      .style("visibility", "visible");
  +  }
  +  else {
  +    svg.select(".no_data")
  +      .style("visibility", "hidden");
     }
   
   };
  
positive.code:   data.sort(compare_categories);
  
    /* ------- PREVIEW IF NO DATA -------*/
    // data = [];
    if (data.length == 0) {
      preview = true;
      data = [
        {amount:165.34, category:"Groceries", amount_str:"$165.34"},
        {amount:110.07, category:"Bills",     amount_str:"$110.07"},
  
negative.code:   return 0;
  }
  
  var is_preview = false;
  function update_data() {
    hide_percent();
    total_amount = 0;
  