2015-08-08 44 views
3

我有一個帶有註釋的堆積條形圖,它將這些值相加。註釋總是在欄的末尾,但是當最後一個數據行(I)沒有值時,註釋在開頭,我不知道如何解決它。在堆積條形圖(Google Chart API)中註釋的位置錯誤

var dataArray = [ 
    ["Date", "A", "B", "C", "D", "E", "F", "G", "H", "I", {role: 'annotation'}], 
    ["7.08.2015", 0, 0, 0, 3, 6, 1, 0, 0, 0, 10], 
    ["6.08.2015", 0, 0, 0, 0, 4, 6, 1, 0, 7, 18], 
    ["5.08.2015", 0, 0, 0, 2, 4, 0, 0, 0, 5, 11] 
]; 

Demo and code at JSFiddle

Image of the problem ...

回答

2

找到一個解決辦法...添加新的數據列,這個名字總被具有相同的值作爲註釋:

var dataArray = [ 
    ["Date", "A", "B", "C", "D", "E", "F", "G", "H", "I", "Total", {role: 'annotation'}], 
    ["7.08.2015", 0, 0, 0, 3, 6, 1, 0, 0, 0, 10, 10], 
    ["6.08.2015", 0, 0, 0, 0, 4, 6, 1, 0, 7, 18, 18], 
    ["5.08.2015", 0, 0, 0, 2, 4, 0, 0, 0, 5, 11, 11] 
]; 

並將其添加到選項中:

var options = { 
    ... 
    series: { 
     9: { 
      color: 'transparent', 
      type: "bar", 
      targetAxisIndex: 1, 
      visibleInLegend: false 
     } 
    } 
}; 

Demo and code at JSFiddle

這會使Total欄透明,將它隱藏在圖例中並讓它從零點開始。

動力版本,這需要對註釋的最後一個數據行:

var series = {}; 
series[data.getNumberOfColumns() - 3] = { 
    color: 'transparent', 
    type: "bar", 
    targetAxisIndex: 1, 
    visibleInLegend: false 
}; 

options["series"] = series; 

Demo and code at JSFiddle