2016-08-04 6 views
1

最近、我々のスキャッタチャートでの性能向上のためにboost.jsモジュールを利用するために、HighChartsの4.0.4から4.2.5への更新を更新しようとしました。私たちが持っている問題は、個々のポイントのいずれかをクリックしたときにツールチップが表示されなくなったことです。HighCharts 4.2.5をboost.jsで作成するにはどうすればツールチップフォーマッタを起動できますか?

これまでの説明から、ツールチップオプションのフォーマッタ機能がまったく呼び出されていないかのように見えます。私たちはこれを引き起こしているのかどうかわからず、答えを見つける努力には成功していません。以下は

我々はJSBin上の問題を再現するために使用されるコードは、(同じコードがthis JSBin linkである)である:

var data = [{ 
"cid": 63113, 
"cn": "P 889-189956-01", 
"an": "DOE, JAMES", 
"ct": 95, 
"prb": 28.9, 
"prd": 1263, 
"cln": "DOE, JOHN R", 
"d": "condition 1", 
"dt": 721976400000, 
"ac": "BIG CORP", 
"j": "WV", 
"ia": 0, 
"wac": null, 
"actualPerc": 7.521773555027711 
}, { 
"cid": 68066, 
"cn": "P 889-200629-01", 
"an": "DOE, JAMES", 
"ct": 3656.0916, 
"prb": 32.9, 
"prd": 1283, 
"cln": "claimant1", 
"d": "condition 1", 
"dt": 728024400000, 
"ac": "BIG CORP", 
"j": null, 
"ia": 1, 
"wac": null, 
"actualPerc": 284.96427123928294 
}, { 
"cid": 129977, 
"cn": "P 033-145468-01", 
"an": "DOE, JAMES", 
"ct": 152, 
"prb": 42.3, 
"prd": 1737, 
"cln": "cln2", 
"d": "condition 1", 
"dt": 754549200000, 
"ac": "BIG CORP", 
"j": null, 
"ia": 1, 
"wac": null, 
"actualPerc": 8.750719631548646 
}]; 

var chartdata = []; 

...

$(function() { 

drawChart(data, "settlement", "settlement-chart", "settlement"); 
drawChart(data, "tracking", "tracking-chart", "tracking"); 

function drawChart(data, type, containerId) { 
    var chart, watchlistClaimsIDs, 
     defaultClaimColorString = 'rgba(158, 196, 229, 1)', 
     baseChartColor = '#fff', 
     axisLabelColorString = '#526e97'; 

...(切り捨て)。.. 。

myChart = new Highcharts.Chart({ 
    chart: { 
      renderTo: containerId, 
      type: 'scatter', 

...(切り捨て)...

アンダー

「チャート:{」次のようにレベル、我々はツールチップを定義しています

tooltip: { 
      useHTML: true, 
      enabled: false, 
      animation: false, 
      backgroundColor: baseChartColor, 
      borderColor: baseChartColor, 

      formatter: function() { 
       console.log("tooltip"); 
       var lookupClaims = {}; 
       var erQuadrant = Math.floor((Math.random() * 4) + 1), 
        acQuadrant = Math.floor((Math.random() * 6) + 1), 
        xVal = this.point.x, 
        claim = lookupClaims[this.point.id]; 
       var selectedUser = "none"; 
       if (this.point.x >= 1000 && this.point.x < 1000000) { 
        xVal = (this.point.x/1000).toFixed(0) + 'K'; 
       } else if (this.point.x >= 1000000) { 
        xVal = (this.point.x/1000).toFixed(0) + 'M'; 
       } 

       return '<div class="chart-tooltip">' + 
        '<h6>CLAIM NUMBER</h6>' + 
        '<span>' + claim.cn + '</span>' + 
        '<h6>ACCOUNT</h6>' + 
        '<span>' + claim.ac + '</span>' + 
        '<h6>CLAIMANT</h6>' + 
        '<span>' + claim.cln + '</span>' + 
        '<div><span>' + yAxisLabel.toUpperCase() + '</span><span>' + (type === 'settlement' ? this.point.y.toFixed(1) : claim.actualPerc.toFixed(1)) + '%</span></div>' + 
        '<div><span>EST. LEGAL SPEND</span><span>$' + xVal + '</span></div>' + 
        (!!selectedUser ? ('<a href="#/ecs/claim/' + this.point.id + '/' + ((type === 'tracking') ? 'ac' : 'er') + '/' + btoa(erQuadrant + '~' + acQuadrant) + '">See more</a>') : '') + '</div>'; 
      } 

     } 

...(切り捨て)...

+0

私はあなたが(フォーマッタで)そのツールチップを観察することができますデモを縮小さうまく機能:http://jsfiddle.net/n6e1Lbu6/ 。 –

答えて

0

をそれは問題が本当に基本的であることが判明します:ツールチップの 'enabled'属性がfalseなので、ツールチップは無効になります。

tooltip: { 
     useHTML: true, 
     enabled: false, // tooltip is disabled 
     animation: false, 
     backgroundColor: baseChartColor, 
     borderColor: baseChartColor, 

ソリューションは、「真」にそれを設定することです:

tooltip: { 
     useHTML: true, 
     enabled: true, // tooltip is enabled 
     animation: false, 
     backgroundColor: baseChartColor, 
     borderColor: baseChartColor, 
関連する問題