我想将jQuery滑块绑定到高热图散点图。滑块位于图表正下方,它的作用是在图表中绘制垂直线作为用户的参考点。我有一切工作,除了滑块并没有最终与它创建的线对齐(因为它并没有真正绑定到xAxis)。在highcharts中实现滑块
我似乎无法找到一个简单的方法来做到这一点,如果/当用户放大图表时,它会变得更加复杂 - 然后需要重新计算滑块值以匹配现在可见的绘图区域(如果需要,我会愿意禁用缩放)。
所以我想也许事情就不是试图把一个jQuery UI滑块图表 - 使用渲染图中绘制一个滑块。尽管如此,我仍然没有办法将它绑定到xAxis,以便我的滑块与其创建的线对齐。
我会解决使用xAxis十字准线,除非他们只显示当你在一个点上悬停。我需要它显示所有的时间 - 无论你沿着xAxis的哪个位置。
So - 1.是否有办法将滑块绑定到Highchart,以便与xAxis完美对齐。 2.如果没有,有没有办法使用内置的xAxis十字线,但始终显示它们,而不仅仅是在数据点上?
以下是我在实际项目正在做的一些接近的例子:
http://jsfiddle.net/5hk0d6do/23/
$('#container').highcharts({options}, function(chart){
$slider = $('#slider');
$slider.slider({
min: chart.axes[0].min,
max: chart.axes[0].max,
slide : function(event, ui){
var plotX = chart.xAxis[0].toPixels(ui.value, false);
$('#slider_bar').remove();
chart.renderer.path(['M', plotX, 75, 'V', plotX, 300]).attr({
'stroke-width': 1,
stroke: 'rgba(223, 83, 83, .5)',
id : 'slider_bar'
})
.add();
}
});
$slider.slider('option', 'slide').call($slider, null, { value: chart.axes[0].min });
});
这是事实,我可以尝试推滑块div的利润率相匹配的但这似乎是一个非常脆弱的解决方案,并且可能依赖于浏览器的排列顺序。
谢谢!