score:1

Accepted answer

Below is a working code for the required result:

let options = HIOptions()

let chart = HIChart()
chart.events = HIEvents()
chart.events.load = HIFunction(jsFunction: "function() { this.tooltip.refresh(this.series[0].points[2]); this.tooltip.refresh(this.series[0].points[4]); this.tooltip.refresh(this.series[0].points[6]); }")
options.chart = chart

let tooltip = HITooltip()
tooltip.formatter = HIFunction(jsFunction: "function() { return '...'; }")
options.tooltip = tooltip

let plotOptions = HIPlotOptions()
plotOptions.column = HIColumn()
plotOptions.column.point = HIPoint()
plotOptions.column.point.events = HIEvents()
plotOptions.column.point.events.mouseOver = HIFunction(jsFunction: "function() { let tooltip = chart.tooltip; tooltip.update({ formatter: function() { return 'New content!' } }) }")
options.plotOptions = plotOptions

let column = HIColumn()
column.data = [4, 3, 5, 6, 2, 3, 7, 9, 12, 15, 2, 4, 6]
options.series = [column]

score:0

Slight change in the accepted answer as graph need little time to load so setting timeout of 200ms, if data is more increase the time accordingly

let options = HIOptions()

let chart = HIChart()
chart.events = HIEvents()
chart.events.load = HIFunction(jsFunction: "function() { var self = this; setTimeout(function(){ self.tooltip.refresh(self.series[0].points[2]); }, 200); }")
options.chart = chart

let tooltip = HITooltip()
tooltip.formatter = HIFunction(jsFunction: "function() { return '...'; }")
options.tooltip = tooltip

let plotOptions = HIPlotOptions()
plotOptions.column = HIColumn()
plotOptions.column.point = HIPoint()
plotOptions.column.point.events = HIEvents()
plotOptions.column.point.events.mouseOver = HIFunction(jsFunction: "function() { let tooltip = chart.tooltip; tooltip.update({ formatter: function() { return 'New content!' } }) }")
options.plotOptions = plotOptions

let column = HIColumn()
column.data = [4, 3, 5, 6, 2, 3, 7, 9, 12, 15, 2, 4, 6]
options.series = [column]

Related Query

More Query from same tag