2013-03-21 91 views

回答

0

您可以在工具提示格式化程序中访问任何您喜欢的数据,包括外部变量(如果它们在范围内)。

jsFiddle Example

var extraVariable = "This is not part of the chart" 

var chart = new Highcharts.Chart({ 
    tooltip: { 
     formatter: function() { 
      return 'The value for <b>'+ this.x + 
       '</b> is <b>'+ this.y +'</b> I\'m also showing this: '+extraVariable; 
     } 
    }, 
+1

亲爱的Ben:谢谢你的提示。然而你的解决方案并不能真正解决我的问题。这里的“extravariable”是一种硬编码并且对每个数据点都是不变的。这里我真正想要的是显示另一个对每个数据点都是可变的系列。从理论上讲,我可以添加另一个系列,他们会显示在图表中。但它会让图表繁忙。这是向工具提示添加附加信息的全部要点,并且只有在需要时才会显示。 – user1824893 2013-03-21 22:05:23

+0

对不起,您不清楚。您要在此工具提示中显示哪些数据? – 2013-03-21 22:13:08

+1

抱歉不清楚。比如我在图表上绘制了两个系列:series [{1,2,3,4,5},{3,4,5,6,7}],在我想要的第一个数据点(1,3)处将字母A添加为工具提示,在第二个数据点(2,4)处添加字母B作为工具提示。请注意,[A,B,C,D,E]与两个数据序列相关,但未绘制。我怎样才能让[A,B,C,D,E]跟两组数字对话? – user1824893 2013-03-22 03:30:44

2

我使用此该方法是增加一个额外的属性,以每一系列的数据点:

series:[{ 
    name:"Example Series", 
    data:[{x:1,y:2,tt:"Tooltip for point 1"},{x:2,y:3,tt:"Tooltip for point 2"}] 
}] 

这些加成属性可用于工具提示格式化上下文

tooltip: { 
    formatter: function() { 
     if(typeof this.point.tt != 'undefined'){ 
      return this.point.tt; 
     }else{ 
      return ''+this.x +'/'+ this.y +''; 
     }      
    } 
}, 

如果您使用两个元素数组来传达你的数据,你必须转换为x和y属性的对象。

相关问题