javascript - 如何将光标移动到图表上的任何位置,而不仅仅是系列数据点?
问题描述
我有 2 个点线系列,每个点线系列上都有默认光标。默认光标沿着系列数据(点)运行。我想要的是一个光标,我可以在图表中的任何位置移动,而不仅仅是在系列数据上。
解决方案
谢谢你的问题。根据标签,我假设您使用的是LightningChart JS。
如果我正确理解了您想要的行为,您希望光标始终位于用户鼠标上,并在结果表中显示已解决的最近数据点。
这可以通过Chart Marker来实现,它基本上是一个可以在应用程序代码中创建和定位的光标。
这是有关如何操作的代码片段:
监听文档上的鼠标事件。
从系列中求解最近的数据点。
在任意位置定位图表标记。
const marker = chart.addChartMarkerXY()
document.addEventListener( 'mousemove', ( event ) => {
// Solve nearest data point.
const cursorPoint = chart.solveNearest( { x: event.clientX, y: event.clientY } )
// Translate mouse location to Axis.
const locationOnAxes = translatePoint(
chart.engine.clientLocation2Engine( event.clientX, event.clientY ),
chart.engine.scale,
{
x: chart.getDefaultAxisX().scale,
y: chart.getDefaultAxisY().scale
}
)
// Position Chart Marker, but override its location.
marker
.pointAt( cursorPoint )
// Override Cursor location to that of mouse location.
.setPosition( locationOnAxes )
} )
推荐阅读
- sql - 外部联接不适用于现有查询
- python - 尝试验证任何 ARM 模板但得到:'错误将值 <...MyTemplate...> 转换为类型'....Templates.Schema.Template'
- mysql - 列组作为 Mysql 中的唯一键,但使用时间戳作为一天
- python - 为什么 pytest 覆盖跳过自定义异常消息断言?
- c# - NSNetService 使用 C# 分配 IP 地址
- c++ - 永远不会调用日志记录挂钩的挂钩程序
- python - master 和 worker 之间的通信:使用 http 请求或 scp 文件并监控文件创建是否更好?
- html - How to Reduce Clickable Area of Links in Css
- r - sum 函数的奇怪行为
- javascript - 当我在输入值中键入时,我希望该输入值在我键入时作为文本内容出现在 span 标记内