当鼠标光标位于使用 highcharts 的图表上时,如何渲染一条垂直线?

Jun*_*iuz 1 javascript jquery highcharts

我一直在开发一个使用 Highcharts 绘制数据图表的 Web 应用程序。因此,其中一项要求是,当我将鼠标悬停在图表上时(下面的屏幕截图 - 假设箭头是鼠标光标),一条垂直线将自动显示鼠标光标所在的位置。除此之外,当鼠标光标在图表内横向移动时,垂直线也将沿 x 轴移动。

这是示例图表。

在此处输入图片说明

这是我的 highchart 配置脚本

    function plotChartData(dataseries, xtitle)
{
    myChart = new Highcharts.Chart({
        chart: {
            renderTo: 'trendspace',
            type: 'line',
            zoomType: 'xy',
            panning: true,
            panKey: 'shift',
            plotBorderWidth: 1
        },
        title: {
            text: ''
        },
        legend: {
            layout: 'horizontal',
            align: 'left',
            itemDistance: 10,
            borderWidth: 0,
            itemMarginTop: 0,
            itemMarginBottom: 0,
            padding: 20
        },
        plotOptions: {
            series: {
                states: {
                    hover: {
                        enabled: false
                    }
                },
                dataLabels: {
                    enabled: false,
                    format: '{y}'
                },
                allowPointSelect: false
            }
        },
        xAxis: {
            type: 'datetime',
            labels: {
                rotation: -65,
                style: {
                    fontSize: '9px',
                    fontFamily: 'Verdana, sans-serif'
                }
            }
        },
        yAxis: {
            gridLineColor: '#DDDDDD',
            gridLineWidth: 0.5
        },
        series: [{
            name: xtitle,
            data: dataseries,
            tooltip: {
                pointFormat: '{series.name}: <b>{point.y}</b><br/>',
                valueDecimals: 2
            }
        }]
    });
}
Run Code Online (Sandbox Code Playgroud)

我浏览了 Highcharts API,但找不到实现这一目标的确切方法或配置。这在 Highchart 中可行吗?我怎样才能做到这一点?

任何帮助是极大的赞赏。

Yaa*_*lis 6

尝试设置工具提示十字准线

tooltip: {
    crosshairs: [true]
}
Run Code Online (Sandbox Code Playgroud)

或者如@IronGeek 所写,使用xAxis.CrossHairs

  • 来自文档:“**已弃用**自 4.1 起,十字准线定义已移至 Axis 对象,以便更好地与工具提示分离。请参阅 [xAxis.crosshair](http://api.highcharts.com/highcharts/xAxis.crosshair)。” (2认同)
  • @IronGeek 我使用了 `xAxis.crosshair` 定义而不是 `tooltip.crosshairs`。谢谢你。 (2认同)