我正在尝试创建一个仪表板页面,如果用户单击图形中的某个点,则该点中具有该唯一标识符的所有图形都应使工具提示能够显示。这适用于除迷你图以外的所有图表。下面的实时演示显示了默认的高图迷你图演示,但我的只有一个点(带有一个点的条形图)。错误仍然相同:
未捕获的TypeError:无法读取未定义的属性'tooltipOptions' 在a.Tooltip.refresh(highcharts.src.js:22676)
我用来显示/隐藏工具提示的代码是:
function chartPointClick(pointidx) {
var chartArray = Highcharts.charts;
for (var i = 0; i < chartArray.length; i++) {
var thechart = Highcharts.charts[i];
var theData = thechart.series[0].data;
if (thechart.renderTo.tagName == 'TD') {
var theSeries = thechart.series[0]
console.log(theSeries);
thechart.tooltip.refresh(theSeries.options.data[0]);
}
thechart.redraw();
}
}
这是通过plotOptions.series.events方法调用的:
events: {
click: function (event) {
chartPointClick(event.point.idx);
}
}
如何激活迷你图工具提示?
实时demo。
编辑- 使用不起作用的单个条形图实时demo。
答案 0 :(得分:1)
工具提示refresh
方法仅将第一个参数接受为点数组:
if (thechart.renderTo.tagName == 'TD') {
var theSeries = thechart.series[0]
thechart.tooltip.refresh([theSeries.points[0]]);
}
这里的下一个问题是工具提示的outside
选项,这会导致另一个错误。我建议您使用:
td,
th {
...
overflow: visible !important;
}