如何从图例的数据表中读取系列名称

时间:2016-11-21 07:14:44

标签: highcharts

我在动态表中有每个系列的名称。我如何阅读传说中的那些?当使用启用标志设置它时,只有一个文本" Serie1"显示。 而且我想要它展示" Car 1,Car2,Car3 ....."? 我用鼠标悬停它时可以看到系列名称(条形名称),但不能将相同的文字输入图例。

$(function () {
var series = [{name: 'Car 1',data: [[1, 3],[4, 6],[7, 9]]},
              {name: 'Car 2',data: [[2, 3],[8, 10],[12, 18]]}, 
              {name: 'Car 3',data: [[5, 9],[1, 2]]}];

var data = [];
for(var i=0;i<series.length;i++) {
    for(var j=0;j<series[i].data.length;j++) {
         data.push({
             x: i, 
             low: series[i].data[j][0],
             high: series[i].data[j][1],
             name: series[i].name
         });
    }
}

$('#container').highcharts({
    chart: {
        type: 'columnrange',
        inverted: true
    },
    plotOptions: {
        columnrange: {
            dataLabels: {
                enabled: false
            }
        }
    },
    legend: {
        enabled: true
    },
    series: [{data: data}]
});
});

2 个答案:

答案 0 :(得分:1)

你必须创建三个系列,现在你只设置一个系列。此外,您需要禁用分组并为每个点指定x属性,因此同一系列中的点位于同一行。

var series = [{
  name: 'Car 1',
  data: [
    [0, 1, 3],
    [0, 4, 6],
    [0, 7, 9]
  ]
}, {
  name: 'Car 2',
    data: [
      [1, 2, 3],
      [1, 8, 10],
      [1, 12, 18]
  ]
}, {
  name: 'Car 3',
  data: [
    [2, 5, 9],
    [2, 1, 2]
  ]
}];

示例:https://jsfiddle.net/kbcdkmok/1/

答案 1 :(得分:0)

更新

您的变量系列已使用系列名称和数据定义。直接使用Updated fiddle here

您需要添加格式化程序功能,如下面的代码:

 tooltip: {        
    formatter:function(){

        return ''+this.point.name+':'+ this.point.low +' - '+ this.point.high ;
    }
}

这是your fiddle updated