2017-12-19 24 views
-2

今すぐ保持してクリックすると、各円のテキストが表示されます。マウスクリックを離れると、テキストが消えます。さまざまなサークル(国)に接続する線については、サークルと同様にクリック可能なテキストも表示したいと思います。行の上にマウスを置くと、どのようにテキストを接続線に表示させることができますか?私がカーソルを置いたときにテキストが表示される接続線

codepen(https://codepen.io/apextrea/pen/JMXmgY)にアクセスしてください。

window.onload = function() { 
    var drawOptions = {  
     // dimensions of svg element 
     SVG_WIDTH:  800, 
     SVG_HEIGHT:  600, 
     SHRINK_FACTOR: 100, 
     BIG_CIRCLE: 200 
    }; 
} 
+0

タイトルを更新しました。古いタイトルを質問の本文に移動しました。再フォーマットされたコード。 –

答えて

0

これはあなたが探しているものですか?

Codepen DEMO

新しいコードの変更:

  1. あなたが円にバインドはdragstartとdragendイベントのイベントを持っています。同様に、行にもこれらのイベントがあります。

    d3.selectAll('line.connector').call(d3.drag() 
        .on('start', displayConnectorName) 
        .on('end', removeName)); 
    

    名前を表示するために、サークルと同様の機能を使用していますが、この場合の位置は明らかに異なります。

    ここ関数の:

    関数displayConnectorName(D){ VAR thisLine = d3.select(本) について

      var textX = (+thisLine.attr('x1')+(+thisLine.attr('x2')))/2; 
          var textY = (+thisLine.attr('y1')+(+thisLine.attr('y2')))/2; 
    
          //create a text element 
          //give it an id so it can be deleted at drag end 
          //attributes are based on the line being dragged 
    
          d3.select('svg') 
           .append('text') 
           .attr('id', 'dragName') 
           .attr('x', textX) 
           .attr('y', textY).attr('dx', '-3em') 
           .text(d.source + ' - ' + d.target) 
           .attr('font-size', 20) 
        .attr('fill', 'orange'); 
    

    }

    この名前を除去textに取り付けiddragName

  2. 位置についてを円と同じ、すなわちされるように、同じremoveName機能が使用され現在、テキストは行の中央にあり、テキストは

ソース・ターゲット

しかし、私は、あなたがここからそれを取るし、要件に応じてそれらを変更することができると思います。

  1. 円は、を表し、国を表しません。:)

これが役に立ちます。 :)

+0

あまりにも多くのshashank、ありがとう、それはまさに私がやろうとしていたものです。 – Kam

+0

喜んで助けてください!あなたが名前の位置を決める際にどんな問題にも直面すれば教えてください。私はそれを手伝います。そうでない場合は、問題を解決できるように答えを受け入れてください。ありがとう。 – Shashank

-1

あなたが探しているのはツールチップです。 svg:title要素を各円に追加することで実装できます。 次のブラウザにツールチップが表示され、ホバーイベントについて心配する必要はありません。

以下のリンクに従ってください:必要なものを理解するのに役立つかもしれません。

https://github.com/caged/d3-tip

http://bl.ocks.org/Caged/6476579

+0

なぜダウン投票?? – JSnewbie

関連する問題