javascript - 如何将自定义工具提示放置在绘图条形图中的条形顶部?
问题描述
希望你们都做得很好。
我陷入了一个问题。我正在将 plotlyjs 用于条形图,其中我正在使用自定义工具提示(使用悬停事件来创建自定义 html 内容)。下面你可以看到:
<div id='myDiv'><!-- Plotly chart will be drawn inside this DIV --></div>
<div id="custom-tooltip">Custom tooltip</div>
var trace1 = {
x: ['giraffes', 'orangutans', 'monkeys'],
y: [20, 14, 23],
name: 'SF Zoo',
type: 'bar',
hoverinfo: 'none'
};
var trace2 = {
x: ['giraffes', 'orangutans', 'monkeys'],
y: [12, 18, 29],
name: 'LA Zoo',
type: 'bar',
hoverinfo: 'none'
};
var data = [trace1, trace2];
var layout = {barmode: 'stack', showlegend: false};
Plotly.newPlot('myDiv', data, layout);
var graphElem = document.getElementById('myDiv');
const tooltipElem = document.getElementById('custom-tooltip');
graphElem.on('plotly_hover', function(data){
const yaxis = data.points[0].yaxis;
const xaxis = data.points[0].xaxis;
console.log(data)
const distY = yaxis.d2p(data.points[0].y) + yaxis._offset + 20; //
const distX = xaxis.d2p(data.points[0].x) + xaxis._offset - 110;
tooltipElem.innerHtml = '<h3>Custom tooltip</h3>';
console.log(distX, distY)
tooltipElem.style.left = distX + "px";
tooltipElem.style.top = distY + "px";
tooltipElem.style.display = "block";
})
.on('plotly_unhover', function(data){
});
但是每当悬停在任何栏上时,我都找不到将自定义 div 放置在栏顶部的方法。
我怎样才能做到这一点?
解决方案
推荐阅读
- java - 找不到JSP文件可能是春天的一个错误
- java - 如果内部运行的 JVM 进程死亡,则终止 docker 容器
- javascript - ReactJs 中的 MegaMenu 使用 useState 钩子
- java - 我应该如何在 android studio 中获取颜色并比较它们?
- javascript - 异步 IIFE 后变量未定义
- html - 为什么我的 .scss“代码”在我的 html 页面中不起作用
- c++ - 防止 CMake 将库导出目录添加到可执行 RPath
- svg - bootstrap 5 svg 字体图标无法正常工作
- postgresql - Google Data Studio 不允许我使用度量字段计算唯一的布尔值
- vue.js - 从 vue.js 路由器链接中删除尾随空格