2015-05-28 57 views
2

我正在使用this chart implementation。然而,它散布我的数据而不是堆叠在彼此的顶部。条形图在彼此顶部堆叠数据

我想堆积我的第一个数组在1970年,第二个在1975年。换句话说,我想有两个堆叠的酒吧,而不是有五个。我想保留我的数据数组,而不是将它们分开。

function createChart() { 
    $("#chart").kendoChart({ 
    title: { 
     text: "World population by age group and sex" 
    }, 
    legend: { 
     visible: false 
    }, 
    seriesDefaults: { 
     type: "column" 
    }, 
    series: [{ 
     name: "1970", 
     stack: true, 
     data: [85, 92, 98, 104, 54] 
    }, { 
     name: "1975", 
     stack: true, 
     data: [49, 50, 55, 56, 95] 
    }], 


    seriesColors: ["green", "yellow", "#dc5c71", "#e47f8f", "#eba1ad", 
     "#009bd7", "#26aadd", "#4db9e3", "#73c8e9", "#99d7ef" 
    ], 
    valueAxis: { 
     labels: { 
     template: "#= kendo.format('{0:N0}', value)#" 
     }, 
     line: { 
     visible: false 
     } 
    }, 
    categoryAxis: { 
     categories: [1970, 1975], 
     majorGridLines: { 
     visible: false 
     } 
    }, 
    tooltip: { 
     visible: true, 
     template: "#= series.stack #s, age #= series.name #" 
    } 
    }); 
} 

$(document).ready(createChart); 
$(document).bind("kendo:skinChange", createChart); 

Fiddle

电流输出:

enter image description here

所需的输出:类似于如下

enter image description here

+0

你能在这里发布图表代码?或者把它放在jsfiddle中。我的公司网络阻止Telerik Dojo。 :( – Nicholas

+0

任何更新尼古拉斯。类似于http://jsfiddle.net/n9xvof2y/4/下面的例子,他连接数组。 – mystackoverflow

回答

2

尝试安排你的数据是这样的:

$("#chart").kendoChart({ 
    title: { 
     text: "World population by age group and sex" 
    }, 
    theme: "Metro", 
    legend: { 
     visible: false 
    }, 
    seriesDefaults: { 
     type: "column" 
    },    
    series: [ 
     { 
     name: "item1", 
     stack: true, 
     data: [85, 49] 
    },{ 
     name: "item2", 
     stack: true, 
     data: [ 92, 50] 
    },{ 
     name: "item3", 
     stack: true, 
     data: [98, 55] 
    },{ 
     name: "item4", 
     stack: true, 
     data: [104, 56] 
    },,{ 
     name: "item5", 
     stack: true, 
     data: [54,95] 
    }, 
    ], 
    valueAxis: { 
     labels: { 
      template: "#= kendo.format('{0:N0}', value)#" 
     }, 
     line: { 
      visible: false 
     } 
    }, 
    categoryAxis: { 
     categories: [1970, 1975], 
     majorGridLines: { 
      visible: false 
     } 
    }, 
    tooltip: { 
     visible: true, 
     template: "#= series.name # #= value #" 
    } 
}); 

更新DEMO

更新FIDDLE

+0

有没有一种方法来保持数组本身,而不是将它们分开?它实际上是我的要点 – mystackoverflow

+0

@mystackoverflow,看看http://demos.telerik.com/kendo-ui/bar-charts/grouped-data。你需要按项目而不是年份分组,以获得每个项目的一个系列2分... – ezanker

+0

我想拥有它如下http://jsfiddle.net/n9xvof2y/3/他只有一个数据数组,并处理它。顺便说一句,我已upvoted你的答案,但我一直处理这个问题好几个小时。 – mystackoverflow