2015-04-24 68 views
1

我有一個圖表與兩個分類yAxis,第二個鏈接到第一個(與linkedTo選項)。我想在工具提示中顯示兩個軸的點的類別,但我無法找到正確顯示它的方法。我找到了一種方法來顯示yAxis的所有類別,但沒有辦法將輸出限制爲只有一個點的類別,也沒有辦法顯示第二個軸的類別。Highcharts - 如何從工具提示訪問點的多軸類別

這裏是撥弄你可以,如果你想打:http://jsfiddle.net/75444q2n/

PS:因爲它是從Rcharts(包針對R,使可能獲得來自R代碼JS可視化生成的代碼可能不是很乾淨)。

+0

我想你可能要切換到使用'formatter'代替各種'format'選項。有了'formatter',你可以使用'y'來得到相應的軸類別。 –

+0

你說得對,謝謝。 – BioinformaticsNaab

回答

0

如上所述,應該使用tooltip.formatter函數(http://api.highcharts.com/highcharts#tooltip.formatter)。 在你的情況,這將是

"formatter": function() { 
    return "I'd like to have first yAxis category here<br>" 
    + "<span style=\"font-weight: bold; color:" + this.series.color + "\">" 
    + this.series.chart.yAxis[0].categories[this.y] + "</span><br/>" 
    + "And second yAxis category here. <br/>" 
    + "<span style=\"font-weight: bold; color:" + this.series.color + "\">" 
    + this.series.chart.yAxis[1].categories[this.y] + "</span><br/>" 
    + "x value: " + this.point.x + "<br/>" 
    }, 

https://jsfiddle.net/75444q2n/3/

+0

像魅力一樣工作。非常感謝 ! – BioinformaticsNaab

+0

JSFiddle損壞:( – TWilly

0

您可以使用tooltip.formatter(API:http://api.highcharts.com/highcharts#tooltip.formatter)並獲取y的值以從類別數組或圖表直接獲取相應的類別。 實施例:http://jsfiddle.net/4w89vL75/2/

$(function() { 
    var cat2 = ['Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 
    $('#container').highcharts({ 
     tooltip: { 
      formatter: function() { 
       return 'First: ' + this.series.chart.yAxis[0].categories[this.y] + 
        '<br>Second: ' + cat2[this.y]; 
      } 
     }, 

     yAxis: [{ 
      categories: ['Jan', 'Feb', 'Mar', 'Apr','May', 'Jun'] 
     },{ 
      linkedTo: 0, 
      opposite: true, 
      categories: cat2 
     }], 

     series: [{ 
      data: [5,3,2,4,3] 
     }, { 
      yAxis: 1, 
      data: [2,2,3,4,5] 
     }] 
    }); 
});