D3 散点图突出显示与特定数据条件匹配的所有点
D3 scatterchart highlighting all the dots that match a certain data criteria
我正在尝试突出显示散点图上与悬停的点的 id 匹配的所有点。到目前为止,我有这个功能,但它突出显示了所有点(或者现在将它们变成黑色,但无论如何)。我可以在 d 上使用 parentNode() 来获取实际点而不仅仅是数据并构建一个新的点数组并以这种方式突出显示它们吗?感觉也许我错过了一个更直接的解决方案。
dots.on('mouseover', function(d) {
let dotId = '';
let dot = d3.select(this)
.datum(function(x) {
dotId = x.playerId;
console.log(dotId);
return this.dataset; });
dots.each(function(d){
console.log(d.playerId);
if (d.playerId === dotId) {
dots.style('stroke', 'black');
}
});
});
dots.on('mouseout', function(d) {
//remove stuff
});
}
如果我
正确理解了你的问题,这样的事情应该可以解决问题-
dots.on('mouseover', function(d) {
var dotId = d.playerId;
var matches = dots.filter(function(d) {
return d.playerId === dotId;
})
.style('stroke', 'black');
});
您可以过滤dots
并修改原始选择的样式,而不是构建另一个元素数组。
相关文章:
- 如何使用React JS中的循环,根据条件渲染或不渲染表数据
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- 如何在循环对象时有条件地使用数据
- JavaScript / jquery:如果选择了单选按钮并且数据属性符合条件,则添加类
- Mongodb,通过具有多个条件的_id快速查找数据
- jTable条件显示隐藏基于数据所有者的编辑和删除按钮
- d3.js继续条件加载数据
- 根据条件删除数据行
- 如何根据特定条件将数据插入表中
- 基于条件的数据渲染在胡子.js
- Angular JS - 具有动态数据的条件内联样式
- 如何在使用 ng-repeat 显示表数据时放置条件新行
- 当数据超过 5k 时,为动手提供条件格式的最佳方法
- 在 Foreach 循环中使用 IF 条件来比较数据绑定值
- jQuery 数据表根据条件更改列的值
- 如何在 angularjs 中的条件语句中显示数据
- 从json数组中迭代并输出条件数据
- Highcharts条件数据标签
- KnockoutJs中的条件数据绑定
- 带有余烬的把手模板中的条件数据属性