d3.js NVD3触发工具提示手动
d3.js NVD3 trigger tooltip manually
我有一个柱状图和一个表格,使用相同的数据。我想这样做,当我将鼠标悬停在表格中的一个单元格上时,图形中相应的栏将突出显示并显示工具提示。我很难找到一种方法来手动触发工具提示显示。。trigger('hover'),。trigger('mouseover')和。trigger('mouseenter')在正确的工具栏上不这样做。
如何手动触发工具提示显示在我的条形图中的特定条?
您可以手动显示工具提示:
nv.tooltip.show([200, 400], '<p>Your content goes here</p>');
隐藏工具提示:
nv.tooltip.cleanup();
我只是通过搜索代码才知道如何做这件事。我找不到任何文档。
下面是我需要解决的情况的高级示例(使用jQuery在图例标签上显示工具提示):
$("#chart svg .nv-series .nv-legend-text").each(function(i, elem) {
$(elem).hover(function() {
var offset = $(this).offset();
// data is my array of objects passed into d3.select("#chart svg").datum(data)
nv.tooltip.show([offset.left, offset.top], '<p>' + data[i].longLabel + '</p>');
}, function() {
nv.tooltip.cleanup();
});
});
为了解决您的情况,您可能可以做类似的事情,除了选择单个栏元素。
下面是我如何显示/隐藏/移动我的自定义图表的工具提示(基于其他nvd3图表)版本1.8.1:
tooltip = nv.models.tooltip();
// config...
tooltip
.headerEnabled(false)
.duration(0)
.valueFormatter(function(d, i) {
return packedBubble.valueFormat()(d, i);
});
…
packedBubble.dispatch.on('elementMouseover.tooltip', function(evt) {
evt['series'] = {
key: evt.data.name,
value: evt.data,
color: evt.color
};
tooltip.data(evt).hidden(false);
});
packedBubble.dispatch.on('elementMouseout.tooltip', function(evt) {
tooltip.hidden(true);
});
packedBubble.dispatch.on('elementMousemove.tooltip', function(evt) {
tooltip.position({ top: d3.event.pageY, left: d3.event.pageX })();
});
所以只要使用chart.tooltip
,如果你在图表之外,以同样的方式操作它与hidden()/position()/data()。
相关文章:
- d3.js Chord图的动态工具提示
- d3.js用按钮更新条形图工具提示
- 使Intro.js工具提示响应
- 工具提示在带有两个图表的d3.js中消失
- C3.js通过单击按钮显示工具提示
- 图表.js - 具有多个值的自定义工具提示
- d3.js 中的 HTML 工具提示清理
- chart.js v2:如何添加元数据的工具提示
- d3.js svg元素上的角度UI工具提示
- D3.js折线图中的样式工具提示
- Chart.js显示页面加载时的工具提示
- 在d3.js中的工具提示中绘图
- 使用d3.js在地图上创建工具提示
- js工具提示,带有延迟的mouseout,没有jQuery
- 如何在Bootstrap Modal上使用Vue.js渲染插件jQuery(作为工具提示和Switchery)
- 如何使用嵌入的HTML元素制作d3.js工具提示
- Wordpress和JS工具提示不起作用
- 根据ajax重新绘制并破坏旧的折线图后,关于折线图(chart.js)的丢点工具提示
- 在d3.js地图中添加工具提示
- 如何使用JS或JQuery使工具提示显示在TD悬停上