1

D3 で作成した散布図を、各データ ポイントを示す円で作成しました。これが私のコードです:

viz.selectAll('circle')
  .data(data)
  .enter()
  .append('circle')
  .attr("cx", function(d) {return x(d.x)})
  .attr("cy", function(d) {return y(d.y)})
  .attr("r", 5)
  .attr("fill", function(d) {return d.color})
  .on('mouseover', function(d){
      console.log(d.color)
  })

私がやりたいのは、特定の円にカーソルを合わせたときに、すべての円を同じ色の線で結ぶことです。これどうやってするの?コンソールにログインした色を取得できますが、マウス クリックですべての点を同じ色の線で結ぶ方法がわかりません。

4

2 に答える 2

1

共通のクラス属性に依存せずに行うこともできます。マウスオーバー ハンドラーで:

d3.selectAll('.dot')
  .filter(function (dOther) { return d.color == dOther.color })
  .attr('r', 3.5)
于 2013-10-26T02:19:52.883 に答える