2015-11-03 76 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軸)。在添加這些行時,看起來需要額外的處理時間,導致每當您打開/關閉一個系列時,這些線條都會隨意繪製。

不太確定導致問題的機制是什麼,但這些行是根本原因。