Javascript KendoUI-DataViz-在图表中对JSON数据源进行分组和聚合
我已经能够在某些图表中完成这样的分组,而不是在其他图表中。 例如,假设我有一个如下所示的数据源:Javascript KendoUI-DataViz-在图表中对JSON数据源进行分组和聚合,javascript,json,charts,kendo-ui,kendo-dataviz,Javascript,Json,Charts,Kendo Ui,Kendo Dataviz,我已经能够在某些图表中完成这样的分组,而不是在其他图表中。 例如,假设我有一个如下所示的数据源: var pictures = [ { type: "JPG", len: 20, wid: 15, appr: 17.5, count: 2 }, { type: "JPG", len: 22, wid: 17, appr: 12.5, count: 3 }, { type: "JPG", len: 24, wid: 15, appr: 10.5, count: 1 }, { typ
var pictures = [
{ type: "JPG", len: 20, wid: 15, appr: 17.5, count: 2 },
{ type: "JPG", len: 22, wid: 17, appr: 12.5, count: 3 },
{ type: "JPG", len: 24, wid: 15, appr: 10.5, count: 1 },
{ type: "JPG", len: 22, wid: 4, appr: 17.5, count: 6 },
{ type: "PNG", len: 20, wid: 15, appr: 17.5, count: 4 },
{ type: "PNG", len: 25, wid: 7, appr: 9.5, count: 4 },
{ type: "PNG", len: 21, wid: 11, appr: 21.5, count: 1 }
];
我想按我的类别分组,在本例中是“类型”,我想对所有其他字段求和
我可以非常简单地使用柱状图,通过设置:
series: [{aggregate: "sum",categoryField: "type"}]
但是,这不适用于项目符号图或饼图,因此需要寻找更通用的方法。我首先通过在开头添加以下内容来“按摩”数据:
var dataSource = new kendo.data.DataSource({
data: pictures,
group: {
field: "type",
aggregates: [
{ field: "len", aggregate: "sum" },
{ field: "wid", aggregate: "sum" }
]
}
});
dataSource.read();
我不知道为什么像这样对数据源进行分组是不够的。。我必须将其放入数组中,并将每个数组分配给一个序列,如下所示:
var seriesA = [],
seriesB = [],
categories = [],
items = dataSource.view(),
length = items.length,
item;
for (var i = 0; i < length; i++) {
item = items[i];
seriesA.push(item.aggregates.wid.sum);
seriesB.push(item.aggregates.len.sum);
}
var seriesA=[],
serieb=[],
类别=[],
items=dataSource.view(),
长度=项目长度,
项目;
对于(变量i=0;i
只要每个系列工作只有一个valueField,此选项就可以工作。对于项目符号图表,或者如果我想将一个字段指定给一个条形图/柱形图的plotband,则不会
我相信我一定是做错了什么,因为将我未分组的JSON对象转换为分组的kendo数据源就足够了。下面是我的简历
任何帮助都将不胜感激!谢谢 可能有关联?