D3鼠标移到小倍数上
D3 mouseover on small multiples
当用户通过设置鼠标移动功能与可视化交互时,我试图在每个小倍数上显示一个圆圈。我在这里设置了代码:http://plnkr.co/edit/7lgyZgIoNIpmarYx8iUH。
然而,我得到以下错误消息"Uncaught TypeError: Cannot read property 'y' of undefined",我不是无法理解为什么。
我的mousemove函数定义如下:
var mouseover = function() {
circle.attr('opacity', 1);
d3.selectAll('.static-year').classed('hidden', true);
return mousemove.call(this);
}
var mousemove = function() {
var year, date, index;
year = x.invert(d3.mouse(this)[0]).getFullYear();
date = formatTime.parse('' + year);
index = 0;
circle
.attr('cx', x(date))
.attr('cy', function(d) {
index = bisect(d.value, date, 0, d.value.length - 1);
return y(d.value[index].y);
});
}
var mouseout = function() {
d3.selectAll('.static-year').classed('hidden', false);
circle.attr('opacity', 0);
}
有更了解D3的人知道为什么吗?
谢谢!
你得到的错误是一个常规的JavaScript错误,而不是D3错误。在你发布的代码中,我能看到的唯一可以抛出它的地方是:
.attr('cy', function(d) {
index = bisect(d.value, date, 0, d.value.length - 1);
return y(d.value[index].y);
});
如果index
大于d.value
中的数组项数,则会发生这种情况。
相关文章:
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- d3.js鼠标悬停鼠标输出问题
- D3.js:如何在svg上移动鼠标时创建弹出事件
- D3折线图鼠标悬停坐标效果
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 鼠标悬停事件不会触发以触发 D3 中的单击事件
- D3.js鼠标事件不起作用
- 如何取消d3.js中的鼠标悬停转换
- D3中的鼠标事件和笔刷
- d3在鼠标悬停上过滤数据之后从选择中提取值
- D3.js鼠标悬停和焦点+上下文问题
- 如何在鼠标位于工具提示上时保持d3鼠标悬停打开
- D3:将鼠标滚轮重新映射为平移手势,而不是缩放手势
- 将鼠标悬停在切片上时更改d3.js饼图标签的颜色
- d3.js-当鼠标悬停在SVG容器上的这些元素上时,我如何设置光标
- d3将鼠标悬停在表格上时,制作图表动画
- d3.火狐浏览器中的鼠标像素偏移量
- 如何使用鼠标单击和拖动来放大 D3
- 在 d3 中鼠标按下时更改数据集
- 如何在 D3 中创建工具提示,以便在图形中节点上的鼠标悬停上获取图像