2014-06-05 48 views
1

我想在我的highcharts的工具提示中添加信息(我已经尝试了其他类似的问题,但没有解决我的问题...)。highcharts在工具栏提示更多的自定义数据

我希望有一天(jj.mm.aaaa)作为我xAxis中每个数据的标签。但在我的提示,我想有作为提示的标题,日期和未在图中呈现的另一个信息:(jj.mm.aaaa) = n items

例如,我有这样的x轴数据:

chartOptions.xAxis = { 
categories: ['23.01.2014', '24.01.2014', '25.01.2014'] 
}; 

是这样的标签我要为我的X轴,但在我的提示我想有:

------------------------ ------------------------ ------------------------ 
- 23.01.2014 = 5 items - - 24.01.2014 = 3 items - - 25.01.2014 = 4 items - 
------------------------ ------------------------ ------------------------ 

我想一个选项,添加于x轴的对象是这样的:

chartOptions.xAxis = { 
    categories: ['23.01.2014', '24.01.2014', '25.01.2014'], 
    nbItems: [5,3,4] 
}; 

但这将输出每个元素的数组中的所有单元格:

---------------------------- ---------------------------- ---------------------------- 
- 23.01.2014 = 5,3,4 items - - 24.01.2014 = 5,3,4 items - - 25.01.2014 = 5,3,4 items - 
---------------------------- ---------------------------- ---------------------------- 

有没有办法只有项目中,NB?

这里是一个小提琴,帮助您了解我的问题:http://jsfiddle.net/upE3T/1/

+0

有趣的问题。不像我第一次想到的那么容易! – SteveP

回答

1

我设法做一些类似您想使用自定义的工具提示格式化功能是什么东西。

chartOptions.xAxis = { 
     categories: ['23.01.2014', '24.01.2014', '25.01.2014'], 
     nbItems: {"23.01.2014":5,'24.01.2014':3,'25.01.2014':4} 
    }; 

...

chartOptions.tooltip = {  
     formatter: function() { 
      var s = '<b>'+ this.x + ' (' + chartOptions.xAxis.nbItems[this.x] + ')</b>'; 

      $.each(this.points, function(i, point) { 
       s += '<br/>'+ point.series.name +': '+ 
        point.y +'m'; 
      }); 

      return s; 
     }, 
     shared: true, 
     useHTML: false 
    }; 

http://jsfiddle.net/c8CaB/

不是很理想,因为你不再有充分的支持html,但你仍然可以使用样式HTML(http://api.highcharts.com/highcharts#tooltip.formatter)的一个子集的输出。

+0

呃...它应该做的伎俩,即使'tooltip.formatter';-)谢谢 – ylerjen

相关问题