Kendo ui 为什么x轴上的剑道柱状图显示不整齐

Kendo ui 为什么x轴上的剑道柱状图显示不整齐,kendo-ui,kendo-dataviz,Kendo Ui,Kendo Dataviz,JS-Bin var internetUsers=[{ “月份”:“1”, “年份”:“2010年”, “价值”:1 }, { “月”:“2”, “年份”:“2010年”, “价值”:2 }, { “月”:“3”, “年份”:“2010年”, “价值”:3 }, { “月”:“4”, “年份”:“2010年”, “价值”:4 }, { “月”:“5”, “年份”:“2010年”, “价值”:5 }, { “月”:“6”, “年份”:“2010年”, “价值”:6 }, { “月”:“7”

JS-Bin


var internetUsers=[{
“月份”:“1”,
“年份”:“2010年”,
“价值”:1
}, {
“月”:“2”,
“年份”:“2010年”,
“价值”:2
}, {
“月”:“3”,
“年份”:“2010年”,
“价值”:3
}, {
“月”:“4”,
“年份”:“2010年”,
“价值”:4
}, {
“月”:“5”,
“年份”:“2010年”,
“价值”:5
},
{
“月”:“6”,
“年份”:“2010年”,
“价值”:6
}, {
“月”:“7”,
“年份”:“2010年”,
“价值”:7
}, {
“月”:“8”,
“年份”:“2010年”,
“价值”:8
},
{
“月”:“9”,
“年份”:“2010年”,
“价值”:9
}, {
“月”:“10”,
“年份”:“2010年”,
“价值”:10
}, {
“月”:“11”,
“年份”:“2010年”,
“价值”:11
},
{
“月”:“12”,
“年份”:“2010年”,
“价值”:17117.00
},
{
“月份”:“1”,
“年份”:“2011年”,
“价值”:12
}, {
“月”:“2”,
“年份”:“2011年”,
“价值”:13
}, {
“月”:“3”,
“年份”:“2011年”,
“价值”:4
}, {
“月”:“4”,
“年份”:“2011年”,
“价值”:6
}, {
“月”:“5”,
“年份”:“2011年”,
“价值”:24
},
{
“月”:“6”,
“年份”:“2011年”,
“价值”:3
}, {
“月”:“7”,
“年份”:“2011年”,
“价值”:35
}, {
“月”:“8”,
“年份”:“2011年”,
“价值”:34
},
{
“月”:“9”,
“年份”:“2011年”,
“价值”:22
}, {
“月”:“10”,
“年份”:“2011年”,
“价值”:21
}, {
“月”:“11”,
“年份”:“2011年”,
“价值”:215
},
{
“月”:“12”,
“年份”:“2011年”,
“价值”:12
}];
函数createChart(){
$(“#图表”)。肯多卡特({
主题:$(文档).data(“肯多斯金”)| |“默认值”,
数据源:{
数据来源:互联网用户,
组:{
字段:“年”
},
排序:{
字段:“年”,
主管:“asc”
}
},
标题:{
正文:“销售”
},
图例:{
位置:“底部”
},
系列默认值:{
类型:“列”
},
系列:[{
字段:“值”
}],
valueAxis:{
标签:{
格式:“{0}$”
},
行:{
可见:假
},
axisCrossingValue:0
},
类别:{
字段:“月”
},
工具提示:{
可见:对,
格式:“{0}%”,
模板:“#=series.name:#=value”
}
});
}
$(文档).ready(函数(){
setTimeout(函数(){
//延迟初始化图表以确保
//初始动画可见
createChart();
$(“#示例”).bind(“剑道:皮肤变化”,函数(e){
createChart();
});
}, 400);
});

您需要按月份而不是按年份对数据源进行排序,如下所示:

sort: { field: "Month", dir: "asc" }
现在,您的月份是根据您的值正确排序的,尽管月份数据类型是字符串而不是数字,因此现在将按1、10、11、12、2、3等进行排序

您可以通过在JSON数据源中修复它来解决此问题,但如果无法更改此问题,则可以在处理之前使用以下方法格式化数据源中的数据:

schema: {
  data: function(response) {
    for (var i = 0; i < response.length; i++) {
      response[i].Month = new Number(response[i].Month);
    }
    return response;
  }
}
模式:{
数据:功能(响应){
对于(变量i=0;ischema: {
  data: function(response) {
    for (var i = 0; i < response.length; i++) {
      response[i].Month = new Number(response[i].Month);
    }
    return response;
  }
}