javascript - 如何通过代码在迷你图中显示工具提示

标签 javascript highcharts

我正在尝试创建一个仪表板页面,如果用户单击图表中的某个点,则该点中具有该唯一标识符的所有图表都应该启用工具提示显示。这适用于除迷你图之外的所有图表。下面的现场演示显示了默认的 highcharts 迷你图演示,但我的只有一个点(带有一个点的条形图)。错误还是一样:

Uncaught TypeError: Cannot read property 'tooltipOptions' of undefined at 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使用不起作用的单个条形图。

最佳答案

工具提示refresh方法仅接受第一个参数作为点数组:

    if (thechart.renderTo.tagName == 'TD') {
        var theSeries = thechart.series[0]
        thechart.tooltip.refresh([theSeries.points[0]]);
    }

这里的下一个问题是工具提示的 outside 选项,这会导致另一个错误。我建议您使用:

td,
th {
    ...
    overflow: visible !important;
}

现场演示:https://jsfiddle.net/BlackLabel/qx31oa7m/

API:https://api.highcharts.com/highcharts/tooltip.outside

关于javascript - 如何通过代码在迷你图中显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54538692/

相关文章:

javascript - 忽略 Highstock 标记特定选项

javascript - 构建同构 React 应用程序时如何处理 SASS 的导入?

javascript - 在页面重新加载之前,Firefox page-mod 扩展在第一个子页面之后不运行

javascript - 在将输出返回给用户 JS 之前过滤掉已删除的结果

javascript - JavaScript 中的 parseInt() 是如何工作的?

javascript - Highcharts 图表类别显示不正确

javascript - 构建空图表,然后设置它的数据

javascript - Highcharts柱状系列点对象点击功能

javascript - HighCharts - 在 x 轴上显示类别,而不是气泡图中的 x 值

javascript - JSON 中的过滤和附加?