Highcharts - 如何从工具提示访问点的多轴类别

Highcharts - how to access category of multiple axis of the point from tooltip

我有一个图表,其中 两个分类的 y 轴 ,第二个链接到第一个(使用 linkedTo 选项)。我想 在工具提示中显示两个轴的点类别 但我无法找到正确显示它的方法。我找到了一种显示主 yAxis 的所有类别的方法,但无法将输出限制为仅点的类别,也无法显示第二个轴的类别。

这里是fiddle,如果你愿意,可以一起玩:http://jsfiddle.net/75444q2n/

PS:此代码可能不是很干净,因为它是从 Rcharts(一个 R 包,可以从 R 代码获取 JS 可视化)生成的。

您可以使用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]
        }]
    });
});

如前所述,您应该使用 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/)