根据zoom,highstock十字准线宽度

时间:2013-06-04 08:46:09

标签: highcharts highstock candlestick-chart

我有一个高级图表巫婆candlestick数据类型。 当我将鼠标悬停在数据点上时,我想突出显示该点的背景。 这就是工具提示 - >十字准线:

tooltip: {
    crosshairs: true
}

但是设置的唯一宽度选项是固定宽度。见http://jsfiddle.net/8YBd7/。 此固定宽度适用于初始缩放,但是当我更改缩放时,宽度不会使用新的点宽度更新。

当我设置100%宽度时,十字准线会填满整个图表区域:

tooltip: {
    crosshairs: {
        width: '100%'
    }
}

是否有另一种选择如何通过更改背景或将宽度设置为pointPixelInterval或其他内容来突出显示当前数据点?

2 个答案:

答案 0 :(得分:0)

与此同时,我制作了一个肮脏的解决方法,因此欢迎改进:

    xAxis: {
            events: {
                afterSetExtremes: function() {
                    this.chart.tooltip.crosshairs = [];
                    this.chart.options.tooltip.crosshairs.width = (this.width / (this.series[0].points.length-1));
                }
            }
        }

http://jsfiddle.net/QbdEu/1/

每当更改缩放时,将根据图表宽度和显示的数据点数重新计算宽度。 <{1}}调用宽度时不会更新,因此需要删除旧的十字准线。

答案 1 :(得分:0)

您是否尝试使用Renderer http://api.highcharts.com/highstock#Renderer.rect()来绘制任何形状和定义的宽度?只有你需要的是以像素frpm(chart.series [0] .data [0] .graphic)获得点宽度,然后设置正确的“形状”宽度。