takashiskiのブログ

覚書の殴り書き

d3jsで折れ線グラフにツールチップを作成する

まずざっくり前提

棒グラフや散布図ではどうやって実現するかというと

  • rectやcircleにイベントを追加
  • マウスオーバーで表示
  • マウスアウトで非表示
  • テキストを書き換えたりdivタグを移動したりしてツールチップ領域を実現

折れ線グラフでどうするかというと

  • 折れ線グラフの真上にデフォルトでOpacityがほぼ0の散布図を描く
  • マウスオーバーでOpacityを1に近づける
  • マウスアウトでOpacityを0に近づける

これで点の特定ができる。Rectでも同じことができるかもしれない。circleだと点が完全に被った場合、一種類しか見えないという問題がある。

上記を使ったうえで、ツールチップの自体はd3-tipあたり使えば楽にそれっぽいの実現できる。