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

时间:2015-04-24 15:04:24

标签: javascript jquery highcharts rcharts

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

如果您愿意,可以使用以下内容:http://jsfiddle.net/75444q2n/

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

2 个答案:

答案 0 :(得分:0)

您可以使用tooltip.formatter(API:http://api.highcharts.com/highcharts#tooltip.formatter)并获得该点以从类别数组或直接从图表中获取相应的类别。 示例: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]
        }]
    });
});

答案 1 :(得分: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/