JavaScript Custom HTML Cursor Chart
This example serves as an example for creating a custom cursor for XY charts.
Custom cursors can be required for different purposes - like major structural changes or very application specific styling requirements.
If lesser changes to default cursors are required then please see read about different methods of configuring cursor behavior - Features > Cursor section in Developer documentation is a good reference.
All charts expose a simple method: setCustomCursor which can be conveniently used to firstly disable the built-in cursor and secondly trigger an automatic callback whenever the cursor should be displayed or hidden, with all information about the pointed data prepared beforehand.
Thanks to this, regardless how you want to display your custom cursor, it is extremely easy to plug it to LCJS.
ChartXY.setCustomCursor((chart, hit, hits) => {
// hit : { x, y, series, axisX, axisY, ... }
// hits contain information of all cursor hits in case of multi series cursors
})In this example, the custom cursor visual is created with dynamically injected HTML and CSS.
The same approach could be used for interacting with any UI framework, idea being that LCJS is used for solving the data point and translating the location to the document, where any HTML element can be absolute positioned with left & top style.
The location and visibility of result table is animated with a CSS transition.
More custom cursor examples can be found under "cursor" tag in the Interactive Examples gallery.