まずざっくり前提
棒グラフや散布図ではどうやって実現するかというと
- rectやcircleにイベントを追加
- マウスオーバーで表示
- マウスアウトで非表示
- テキストを書き換えたりdivタグを移動したりしてツールチップ領域を実現
折れ線グラフでどうするかというと
- 折れ線グラフの真上にデフォルトでOpacityがほぼ0の散布図を描く
- マウスオーバーでOpacityを1に近づける
- マウスアウトでOpacityを0に近づける
これで点の特定ができる。Rectでも同じことができるかもしれない。circleだと点が完全に被った場合、一種類しか見えないという問題がある。
上記を使ったうえで、ツールチップの自体はd3-tipあたり使えば楽にそれっぽいの実現できる。