微小的变化导致HighStock图表同步失败

时间:2017-11-01 15:26:49

标签: javascript jquery charts highcharts

我正在尝试修改此HighStock示例:https://www.highcharts.com/demo/synchronized-charts

我做了一个非常小的改动,你可以在这个JSFiddle中看到: https://jsfiddle.net/fshsweden/zyzdzk3j/

基本上,我不想将所有图表相互添加到#container中,而是希望每个图表都在他自己的#chart_1,#chart_2等中,如下所示:

<div id="container">
    <div id="chart_1"></div>
    <div id="chart_2"></div>
    <div id="chart_3"></div>
</div>

为了做到这一点,我在加载方面做了一些小改动并改变了这个

$('<div class="chart">')
.appendTo('#container')
.highcharts({

Highcharts.stockChart('chart_' + count, {

图表最终位于正确的位置,但同步代码

($('#container').bind('mousemove touchmove touchstart', function (e) {   

不再有效(高亮显示栏未在图表之间同步)。任何人都可以解释为什么会这样吗?

由于 彼得

2 个答案:

答案 0 :(得分:0)

发生所有这些错误(检查控制台输出),因为您引用的示例:

  

我正在尝试修改此HighStock示例:https://www.highcharts.com/demo/synchronized-charts

针对 Highcharts Highcharts.chart())而非 Highstock Highcharts.stockChart())调整。

如果您将库更改为highcharts.js,并且Highcharts.chart()的构造函数可以正常运行:https://jsfiddle.net/kkulig/b41xxutj/

我做了一些调整,以使其在Highstock中也能正常工作:https://jsfiddle.net/kkulig/rnv2ovru/ Tooltip.prototype.refresh函数中的所有更改都标有注释://adjustment for Highstock

答案 1 :(得分:0)

正如Deep3015所说,这是一个简短的回答:

this.series.chart.tooltip.refresh(本); //显示工具提示创建问题评论并查看jsfiddle.net/4um9ghvq并查看此帖 - Deep 3015

Kamil Kuligs anser也可能是对的,但我完全不理解......