anchor.diff:            yScale.domain(zoomYDomain);
           }
           else {
  -          var minY = null,
  +          var minX = null,
  +              maxX = null,
  +              minY = null,
                 maxY = null,
                 hasDisabled = false;
             for (var metric, i = 0; i < metrics.length; i++) {
               metric = metrics[i];
               if (metric.enabled) {
  +              minX = minX ? Math.min(minX, metric.data.first()[0]) : metric.data.first()[0];
  +              maxX = maxX ? Math.min(maxX, metric.data.last()[0]) : metric.data.last()[0];
                 minY = minY ? Math.min(minY, metric.yDomain[0]) : metric.yDomain[0];
                 maxY = maxY ? Math.max(maxY, metric.yDomain[1]) : metric.yDomain[1];
               }
  
positive.code:             .call(yAxis);
          t.selectAll(".plot line.level")
              .attr("y1", function(d) {return yScale(d.value)})
              .attr("y2", function(d) {return yScale(d.value)});
          t.selectAll(".plot circle.level")
              .attr("cy", function(d) {return yScale(d.value)});
  
          t.selectAll(".plot g.metric")
              .style("visibility", function (d) {return (d.enabled ? "visible" : "hidden")})
  
negative.code: 
        svg.append("g")
            .attr("class", "y axis");
  
        svg.append("text")
            .attr("class", "na")
            .attr("text-anchor", "middle")
            .attr("alignment-baseline", "middle")
            .attr("x", plotWidth / 2)
            .attr("y", plotHeight / 2)
            .style("font-size", "100px")
            .style("font-weight", "bold")
            .style("fill", "#fdd")
            .style("stroke", "#ccc")
            .text("N/A");
  
        var zoomRect = svg.append("rect")
            .attr("width", 0)
  