2013-03-21 65 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屬性的對象。