我在弄清楚如何解决这个问题时遇到了一些困难。基本上我有一些返回的JSON,如下所示:
{
"pie": {
"slice": [
{
"-ch": "1",
"-val": "0.0797435897435897"
},
{
"-ch": "2",
"-val": "0.00743589743589744"
},
{
"-ch": "3",
"-val": "0.247435897435897"
},
{
"-ch": "4",
"-val": "0.497179487179487"
},
{
"-ch": "5",
"-val": "0.168205128205128"
}
]
}
}
我从控制器获取这些数据到javascript就好了。但是,我想将数据绑定到饼图。唯一的问题是,我将拥有不同数量的渠道。在这个例子中,我有5个频道。我在javascript中的饼图看起来像这样:
$("#chartDiv").kendoChart({
title: {
position: "bottom",
text: "Chart"
},
legend: {
visible: false
},
chartArea: {
background: "transparent"
},
seriesDefaults: {
type: "donut",
startAngle: 150
},
series: [
{
name: "Chart",
data: ???????How to get the data here????????
}],
tooltip: {
visible: true,
template: "#= category #: #= value #%"
}
});
}
});
我已经尝试在调用中构建一个循环,我也尝试过构建定义的字符串,但它似乎也不喜欢那个解决方案(尽管我可能会错误地实现它。)感谢您的帮助。
答案 0 :(得分:0)
我明白了。
设置数据:dataVariable并定义dataVariable,如下所示:
for (var i = 0; i < json.Slices.length; i++) {
dataVariable.push({
category: json.Slices[i].Ch,
value: parseFloat(json.Slices[i].val)
});
};