从 lightningchart 中的仪表板查找图表位置
Finding Charts position from dashboard in lightningchart
我有这样的仪表板
db = lightningChart().Dashboard({
numberOfRows: 3,
numberOfColumns: 2,
theme: them[theme],
})
这里我添加了 6 个不同的图表
chart[name] = [];
chart[name] = db.createChartXY({
columnIndex: ci,
rowIndex: ri,
columnSpan: cs,
rowSpan: rs,
})
现在如何获取此图表在 html 页面中的位置,这样我就可以在 6 个不同图表的左上角添加 html 按钮。
可以使用 engineLocation2Client
函数将 LCJS 中的位置转换回文档坐标系。
为了将相对于图表的位置转换为文档,您可以使用图表的两个坐标系之一:
- uiScale(基于百分比的坐标系),[0,0]=左下角,[100,100]=右上角。
- pixelScale(基于像素的坐标系),[0,0]=左下角。
实际翻译是这样的:
const locationUiScale = { x: 0, y: 100 } // Top left.
const locationEngine = translatePoint(locationUiScale, chart.uiScale, chart.engine.scale)
const locationDocument = chart.engine.engineLocation2Client(locationEngine.x, locationEngine.y)
之后,locationDocument
应包含与该特定图表左上角匹配的文档上的 X、Y 坐标。
我有这样的仪表板
db = lightningChart().Dashboard({
numberOfRows: 3,
numberOfColumns: 2,
theme: them[theme],
})
这里我添加了 6 个不同的图表
chart[name] = [];
chart[name] = db.createChartXY({
columnIndex: ci,
rowIndex: ri,
columnSpan: cs,
rowSpan: rs,
})
现在如何获取此图表在 html 页面中的位置,这样我就可以在 6 个不同图表的左上角添加 html 按钮。
可以使用 engineLocation2Client
函数将 LCJS 中的位置转换回文档坐标系。
为了将相对于图表的位置转换为文档,您可以使用图表的两个坐标系之一:
- uiScale(基于百分比的坐标系),[0,0]=左下角,[100,100]=右上角。
- pixelScale(基于像素的坐标系),[0,0]=左下角。
实际翻译是这样的:
const locationUiScale = { x: 0, y: 100 } // Top left.
const locationEngine = translatePoint(locationUiScale, chart.uiScale, chart.engine.scale)
const locationDocument = chart.engine.engineLocation2Client(locationEngine.x, locationEngine.y)
之后,locationDocument
应包含与该特定图表左上角匹配的文档上的 X、Y 坐标。