2016-05-19 5 views
4

グラフを描画するのにNVD3ライブラリを使用しています。私はインタラクティブなガイドラインを使用しています。何らかの理由で、グラフデータ+グラフを更新した後、ツールチップのポインタが古い位置にとどまります。グラフのデータを更新した後、NVD3のツールチップポインタの位置が更新されない

tooltip pointer at wrong position

私はこれを行うデータ更新:

chartData.datum(データ)は.call(チャート)。

ツールチップのポインタの位置以外はすべて更新されます。彼らは古い地位にこだわっているようだ。私もこれを呼び出してみました:

chart.update();

私のウィンドウのサイズを変更してchart.update()を呼び出すと、ポインタが正しい位置に設定されていることに気付きました。

誰かがこれをどのように修正するか考えていますか?

答えて

2

これが見つかりました!私は明らかにtransition()。duration(500)を追加しなければなりませんでした。

だからグラフを更新するために、私はこれを呼び出す:。

chartData.datum(データ) .transition()時間(500) は.call(グラフ)。

0

は、あなたが問題についてもう少し説明を投稿することができます... Becuase以前私は同じを持っていた...それはnvd3ツールチップ機能を無効に

`this._nvctp = nv.tooltip.calcTooltipPosition。
nv.tooltip.calcTooltipPosition = this.calcTooltipPosition;

calcTooltipPosition : function() { 
this.findTotalOffsetTop = function(a, b) { 
       return 0; 
      }; 
this.findTotalOffsetLeft = function(a, b) { 
       return 0; 
      }; 
arguments[0] = [ window.event.pageX, window.event.pageY ]; 
var p = nvk.tooltip._nvctp.apply(this, arguments); 

      p.style.left = (window.event.clientX - (p.clientWidth/2)) 
        + 'px'; 
      p.style.top = (window.event.clientY - (p.clientHeight * 1.2)) 
        + 'px'; 
      p.style.opacity = 1; 
      p.style.position = 'fixed'; 
      return p; 
     } 
関連する問題