如何解决Chrome中错误的分组条形图?

时间:2014-05-10 14:23:52

标签: kendo-ui kendo-datasource kendo-chart

我正在创建一个这样的分组条形图:

$("#chart").kendoChart({
        dataSource: {
        data: rawdata,
        group: { field: "Serie" },
    },
    legend: {
        position: "top"
    },
    plotArea: {
        background: "white",
    },
    seriesDefaults: {
        type: "column",
        style: "smooth",
        stack: true
    },
    series: [
        {
            field: 'Valor1',
            labels: {
                visible: true,
                background: '',
                format: 'p1',
                color: 'white',
                position: 'center'
            },
        }
    ],
    valueAxis: {
        max: 1,
        labels: {
            format: "p2"
        },
        line: {
            visible: false
        },
        axisCrossingValue: -10,
    },
    categoryAxis: {
        field: "Segmento",
        majorGridLines: {
            visible: false
        }
    },
    tooltip: {
        visible: true,
        template: "#= series.name # <br /> " +
            "Valor = #= kendo.format('{0:p2}', value) # <br/> " +
            "Tooltip = #= dataItem.Tooltip # ",
    }
});

我的数据有四个属性:Serie,Segmento,Valor1,Tooltip。一个数据点的示例:

{
    "Serie": "S1",
    "Segmento": "C1",
    "Valor1": 0.31500380634422465,
    "Tooltip": 20,
}

堆栈栏的值在chrome中是不正确的,但是在Firefox中,即没问题。

在firefox中更正图形,即:correct image chrome中的图表不正确:incorrect image

这是一个现场演示:http://trykendoui.telerik.com/anET/9

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是Chrome实施Array.sort的问题;见this discussion。 您可以通过明确地对数据源进行排序来修复它:

dataSource: {
    data: rawdata,
    group: { field: "Serie" },
    sort: [{ field: "Serie", dir: "asc"}, { field: "Segmento", dir: "asc"} ]
},

updated demo