2015-11-03 57 views
0

我想知道是否有人可能能够帮助我与NVD3的问题,其中图表偶尔得到不规则绘制。当我利用标签的切换(即可以显示或隐藏不同行的位置)时,通常会发生这种情况。其结果是东西看起来像以下图片:当使用NVD3折线图绘制不正确

enter image description here

最初图表看起来正常(即,单一的线)。但是,在启用和禁用图表上的其他行之后,图像最终会以上述不稳定的方式绘制。

任何有关如何解决这个问题的帮助将不胜感激。如果答案很容易找到,我不知道要搜索什么来描述问题,所以很抱歉。

+0

你可以发布图表的代码?最好在jsfiddle或类似的东西。 – johanj

回答

0

如果任何人碰到这个运行(这实际上是不可能的),我的问题下面的代码添加的行追查到“mouseover_line”事件(以下注释掉):

  function mouseover_line(evt) { 
      var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1; 

      // evt.series.values[evt.pointIndex].x = d3.time.format('%x')(new Date(evt.point.x)); 
      // evt.series.values[evt.pointIndex].y = d3.format(',')(evt.point.y); 

      evt.value = evt.point.x; 
      evt.series = { 
       value: evt.point.y, 
       color: evt.point.color, 
       key: evt.series.key 
      }; 
      tooltip 
       .duration(0) 
       .valueFormatter(function(d, i) { 
        return yaxis.tickFormat()(d, i); 
       }) 
       .data(evt) 
       .hidden(false); 
     } 

我添加这些行以修复悬停在线图上的标签(我的折线图具有日期时间x轴和逗号分隔的整数y轴)。在添加这些行时,看起来需要额外的处理时间,导致每当您打开/关闭一个系列时,这些线条都会随意绘制。

不太确定导致问题的机制是什么,但这些行是根本原因。